您的位置: 旅游網(wǎng) > 明星 >> 張杰

    的編程入門教程之圖形物業(yè)

    發(fā)布時(shí)間:2021-10-28 05:25:47

    二、貝賽爾曲線

    貝賽爾曲線是用四個(gè)點(diǎn)(不必在一條直線上)繪制的連續(xù)曲線,它可以用下圖來說明:

    圖二十四、貝賽爾曲線

    為了繪制這個(gè)線條(使用四個(gè)點(diǎn)),編譯器將從第一點(diǎn)到第四個(gè)點(diǎn)畫一條曲線,但是它并不經(jīng)過第二、第三個(gè)點(diǎn),而只是通過彎曲曲線來使中間的側(cè)邊各自接近于第二、第三個(gè)點(diǎn)。例如,上述的貝賽爾曲線使用了如下的四個(gè)點(diǎn)進(jìn)行繪制:

    圖二十五、貝賽爾曲線繪制說明圖

    為了繪制貝賽爾曲線,Graphics類提供了DrawBezier()方法,它重載了以下版本:

    public: void DrawBezier(Pen *pen, Point pt1, Point pt2, Point pt3, Point pt4);

    public: void DrawBezier(Pen *pen, PointF pt1, PointF pt2, PointF pt3, PointF pt4);

    public: void DrawBezier(Pen *pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);

    在此基礎(chǔ)上,繪制貝賽爾曲線時(shí)可以使用四個(gè)Point 或PointF值,也可以使用四個(gè)點(diǎn)的坐標(biāo)值。下面有一個(gè)例子:

    private: System::Void Form1_Paint(System::Object * sender,

    System::Windows::Forms::PaintEventArgs * e)

    {

    Pen *penCurrent = new Pen(Color::Blue);

    Point pt1 = Point(20, 12), pt2 = Point(88, 246), pt3 = Point(364, 192), pt4 = Point(250, 48);

    e-Graphics-DrawBezier(penCurrent, pt1, pt2, pt3, pt4);

    }

    效果圖如下:

    圖二十六、貝賽爾曲線效果圖

    三、一系列貝賽爾曲線

    Graphics::DrawBezier()方法用來繪制一條貝賽爾曲線,如果想繪制一系列貝賽爾曲線,可以用Graphics::DrawBeziers()方法,它重載了兩個(gè)版本:

    public: void DrawBeziers(Pen *pen, Point points[]);

    public: void DrawBeziers(Pen *pen, PointF points[]);

    DrawBeziers()方法需要一個(gè)Point 或 PointF數(shù)組值。當(dāng)僅僅處理四個(gè)點(diǎn)時(shí),DrawBeziers() 方法與 DrawBezier()很相似。區(qū)別是DrawBezier()處理的是四個(gè)Point 或 PointF的值,DrawBeziers()處理的是Point 或 PointF數(shù)組值。使用DrawBeziers()方法可以繪制出與上面曲線一樣的效果,代碼如下:

    private: System::Void Form1_Paint(System::Object * sender,

    System::Windows::Forms::PaintEventArgs * e)

    {

    Pen *penCurrent = new Pen(Color::Blue);

    Point pt[] = { Point(20, 12), Point(88, 246), Point(364, 192), Point(250, 48) };

    惡人谷 e-Graphics-DrawBeziers(penCurrent, pt);

    }

    使用DrawBeziers()方法的一個(gè)典型特點(diǎn)是它允許使用7個(gè)Point或PointF值,這里有一個(gè)例子:

    private: System::Void Form1_Paint(System::Object * sender,

    System::Windows::Forms::PaintEventArgs * e)

    {

    Pen *penCurrent = new Pen(Color::Blue);

    Point pt[] = { Point( 10, 5), Point(340, 60), Point(320, 148), Point(150, 120), Point(24, 220), Point(250, 150), Point(304, 240) };

    e-Graphics-DrawBeziers(penCurrent, pt);

    }

    效果圖如下:

    圖二十七、代碼運(yùn)行效果圖

    蘭州陰道炎
    米諾地爾酊治療哪些人群的脫發(fā)
    南通婦科哪家好
    猜你會(huì)喜歡的
    猜你會(huì)喜歡的
    主站蜘蛛池模板: 色五五月五月开| 99国产欧美另类久久久精品| 欧美日韩精品一区二区三区高清视频 | wwwxx在线| 日韩亚洲欧美性感视频影片免费看| 亚洲色偷偷偷综合网| 老师邪恶影院a啦啦啦影院| 国产激情一区二区三区成人91| avtom影院入口永久在线app| 打开腿吃你的下面的水视频| 么公的好大好深视频好爽想要 | 老司机免费在线| 天天视频国产免费入口| 久久99精品久久久久久清纯| 欧美不卡视频在线| 人人爽人人澡人人高潮| 翁情难自禁无删减版电影| 国产成人亚洲综合无码精品| 3d动漫精品啪啪一区二区免费| 女人18毛片黄| 中文字幕国产日韩| 日韩国产有码在线观看视频| 亚洲国产精品毛片AV不卡在线| 男人j进女人p免费视频不要下载的| 国产97人人超碰caoprom| 国产一区二区精品久久凹凸| 国产美女精品久久久久久久免费| 一个人看的www免费高清中文字幕| 日本a级作爱片金瓶双艳| 亚洲AV无一区二区三区久久| 欧美激情一区二区三区| 伊人色综合久久| 美国式禁忌在完整有限中字| 国产在线国偷精品免费看| h在线免费视频| 国产美女主播一级成人毛片| fc2成年免费共享视频18| 成人午夜视频在线观看| 久久久久无码中| 日韩欧美高清色码| 亚洲人成亚洲精品|