科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual C++.NET GDI+编程基础

Visual C++.NET GDI+编程基础

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

GDI+提供从简单到复杂图形绘制的大量方法,可以通过对路径和区域的操作构造出复杂的图形

作者:ADDING 来源:yesky 2007年11月16日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
基本绘图函数

  在前面许多示例中,我们已经用到如DrawLine等基本绘图函数。除此之外,还有许多这样的函数,并且每个绘图函数都有其重载形式,这给我们带来了许多方便。表7.1列出这些基本绘图函数。

  表1 GDI+常用基本绘图函数

绘图函数 功能描述
DrawArc 绘制一条圆弧曲线,范围由起止角大小决定,大小由矩形或长宽值指定
DrawBezier 绘制一条由一系列型值顶点决定的三次Bezier曲线
DrawBeziers 绘制一系列的三次Bezier曲线
DrawClosedCurve 绘制一条封闭的样条曲线
DrawCurve 绘制一条样条曲线
DrawEllipse 绘制一条椭圆轮廓线,大小由矩形或长宽值指定
DrawLine 绘制一条直线
DrawPath 绘制由GraphicsPath定义的路径轮廓线
DrawPie 绘制一条扇形(饼形)轮廓线
DrawPolygon 绘制一个多边形的轮廓线
DrawRectangle 绘制一个矩形
FillEllipse 填充一个椭圆区域
FillPath 填充一个由路径指定的区域
FillPie 填充一个扇形(饼形)区域
FillPolygon 填充一个多边形区域
FillRectangle 填充一个矩形区域
FillRectangles 用同一个画刷填充一系列矩形区域
FillRegion 填充一个区域(Region)的内部

  下面的代码是通过路径用两条样条曲线构造一个复杂的区域,然后填充它,其结果如图7.13所示。

Graphics graphics( pDC->m_hDC );

Pen pen(Color::Blue, 3);
Point point1( 50, 200);
Point point2(100, 150);
Point point3(160, 180);
Point point4(200, 200);
Point point5(230, 150);
Point point6(220, 50);
Point point7(190, 70);
Point point8(130, 220);

Point curvePoints[8] = {point1, point2, point3, point4,
point5, point6, point7, point8};
Point* pcurvePoints = curvePoints;

GraphicsPath path;
path.AddClosedCurve(curvePoints, 8, 0.5);

PathGradientBrush pthGrBrush(&path);
pthGrBrush.SetCenterColor(Color(255, 0, 0, 255));
Color colors[] = {Color(0, 0, 0, 255)};
INT count = 1;
pthGrBrush.SetSurroundColors(colors, &count);

graphics.DrawClosedCurve(&pen, curvePoints, 8, 0.5);
graphics.FillPath(&pthGrBrush, &path);

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章