您的位置: 旅游網(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ì)喜歡的
    主站蜘蛛池模板: 亚洲六月丁香婷婷综合| 免费大黄网站在线观| 丰满少妇人妻久久久久久| 精品无码国产污污污免费| 夫妇交换性三中文字幕| 亚洲av产在线精品亚洲第一站| 象人族女人能吃得消吗| 国内精品视频一区二区三区八戒 | 亚洲欧美精品一中文字幕| 97成人在线视频| 成人午夜app| 亚洲欧美日韩在线不卡| 麻豆aⅴ精品无码一区二区| 小兔子救了蛇被蛇两根进去| 亚洲欧美日韩专区| 老头一天弄了校花4次| 在线看片中文字幕| 亚洲AV综合色区无码二区爱AV| 男生女生一起差差差视频| 国产精品videossex另类| 中文字幕日韩一区二区三区不卡| 污污小视频在线观看| 国产成A人亚洲精V品无码性色| 一本大道道无香蕉综合在线| 欧美电影一区二区三区| 吃奶摸下高潮60分钟免费视频| 99re热在线视频| 校花小雪和门卫老头阅读合集 | 欧美野外疯狂做受xxxx高潮| 国产在线无码视频一区| 91福利在线观看视频| 日本理论午夜中文字幕| 免费a级毛片无码专区| 色综合天天综合网国产成人网| 国产的一级毛片最新在线直播| 两个人看的www免费高清| 欧美日韩在线视频一区| 国产成人福利在线| 一个人看的www免费在线视频| 日本免费的一级v一片| 亚洲18在线天美|