网站大量收购独家精品文档,联系QQ:2885784924

河北网络_GDI+图形编程全解.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河北网络_GDI图形编程全解

练习 从一个文本文件中读取出字符串,并在视图中分栏显示。 利用单色画刷,画出一个带有阴影线的文本行。 §4 路径和区域 路径 创建路径和添加图形 封闭图形与子路径 区域 创建路径和添加图形 创建 《参照路径渐变画刷》 添加图形 AddArc 添加弧线 AddBezier、AddBeziers 添加贝塞尔曲线(组) AddClosedCurve 添加封闭曲线 AddEllipse 添加椭圆 AddLine、AddLines 添加直线(组) AddPath 添加子路径 AddPie 添加饼图 AddPolygon 添加多边形 AddRectangle、AddRectangles 添加矩形(组) AddString 添加字符串 封闭图形与子路径 封闭图形 封闭图形,即图形的起点坐标与终点坐标相同。 由开放图形到封闭图形的转换:在图形的起点与终点之间添加一条直线。 CloseFigure、CloseAllFigures 子路径 路径中可以包含多个图形,每一个图形称之为子路径。 添加子路径:在路径对象中使用了StartFigure和CloseFigure后,对路径所添加的线条都将构成一个新的子路径。 获取子路径:GraphicsPathIterator 定制线性渐变画刷的色彩渐变行为 Status?SetBlend(? const REAL* blendFactors, const REAL* blendPositions, INT?count ); 线性渐变画刷的变换 旋转变换:RotateTransform Status?RotateTransform(REAL angle, MatrixOrder order = MatrixOrderPrepend); 缩放变换:ScaleTransform Status ScaleTransform(REAL sx, REAL sy, MatrixOrder order = MatrixOrderPrepend); 矩阵变换:SetTransform Status?SetTransform(const Matrix?*matrix ); 包含了合成因子的数组,每个数的大小为0~1 包含合成位置的数组,合成位置为百分比。首尾必须为0%和100% 合成点位置数,实际上为数组blendColors和数组blendPositions的大小 定制线性渐变画刷的色彩渐变与多色渐变结合时,需要预先处理定制线性渐变画刷的色彩渐变再设置多色渐变过程 示例: // 创建线性渐变画刷,并画一个圆形 LinearGradientBrush lbr(Point(0, 0), Point(100, 100), Color(255, 255, 0, 0), Color(255, 255, 255, 0)); g.FillEllipse(lbr, Rect(0, 0, 100, 100)); // 创建一个平铺排列方式(默认)线性渐变画刷,并画一个矩形 LinearGradientBrush lbrTile(Rect(120, 200, 20, 20), Color(255, 255, 0, 0), Color(255, 255, 255, 0), LinearGradientModeBackwardDiagonal); g.FillRectangle(lbrTile, Rect(120, 0, 100, 100)); //创建一个水平翻转排列方式线性渐变画刷,并画一个矩形 LinearGradientBrush lbrFlipX(Rect(240, 200, 20, 20), Color(255, 255, 0, 0), Color(255, 255, 255, 0), LinearGradientModeBackwardDiagonal); lbrFlipX.SetWrapMode(WrapModeTileFlipX); g.FillRectangle(lbrFlipX, Rect(240, 0, 100, 100)); // 创建一个线性渐变画刷,并指定多色渐变过程,画一个矩形 Color aClr[] = { Color(255, 255, 0, 0), Color(128, 255, 0, 0), Color(128, 255, 255, 0), Color(255, 255, 255, 0), Color(128, 0, 255, 0), Color(255, 0, 255, 0) }; REAL aPosition[] = {0.0f, 0.1f, 0.3f, 0.6f, 0.9f, 1.0f}; LinearGradientBrush lbrIn

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档