您的位置: 旅游網(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ì)喜歡的
    主站蜘蛛池模板: 青青青国产精品国产精品美女| 大香煮伊在2020久| 国产精品亲子乱子伦xxxx裸 | 91在线品视觉盛宴免费| 破了亲妺妺的处免费视频国产| 国内黄色一级片| 亚洲av之男人的天堂| 色综合久久天天综合| 女人是男人的未来你的皮肤很柔顺| 亚洲国产精品无码久久久蜜芽| 香蕉污视频在线观看| 婷婷丁香六月天| 亚洲人成综合在线播放| 色综合久久中文字幕网| 国产精品第2页| 久久久久国产精品免费看| 男女一进一出呻吟的动态图 | 亚洲女初尝黑人巨高清| 色综合久久久无码中文字幕波多 | 波多野结衣同性女恋大片| 国产成人国产在线观看入口| 一级毛片免费观看不卡的| 欧美成人免费在线| 国产三级在线观看免费| gogo少妇无码肉肉视频| 欧美77777| 午夜影院在线观看| 拍拍拍无挡视频免费观看1000| 日本动态120秒免费| 人妻无码aⅴ不卡中文字幕| 国产挤奶水主播在线播放| 小宝极品内射国产在线| 亚洲人成在线中文字幕| 男人肌肌捅女人肌肌视频| 国产一区二区不卡免费观在线| 99热这里只有精品国产动漫| 日韩欧美久久一区二区| 伊人婷婷综合缴情亚洲五月| 黑人巨鞭大战欧美肥妇| 夫妇当面交换中文字幕小说| 久久精品国产精品亚洲艾草网|