C++ GDI+ - 画刷、矩阵、基本绘图函数、文字、图像
C++ GDI+ 画刷、矩阵、基本绘图函数、文字、图像
主要画刷
单色画刷SolidBrush
SolidBrush(const Color& color ); 网格画刷HatchBrush
HatchBrush( HatchStyle hatchStyle, const Color& foreColor, const Color& backColor);
foreColor和backColor用来指定阴影线颜色和填充的背景颜色,背景色可以不指定。hatchStyle用来指定阴影线的样式。 预定义样式:
HatchStyleHorizontal (水平线) HatchStyleVertical(垂直线)
HatchStyleForwardDiagonal(上斜线) HatchStyleBackwardDiagonal(下斜线) HatchStyleCross(十字线)
HatchStyleDiagonalCross (交叉线) HatchStyle30Percent(30%填充) HatchStyleSolidDiamond (实心菱形) 直线渐变LinearGradientBrush
LinearGradientBrush( Point & point1, Point & point2, Color & color1, Color & color2);
LinearGradientBrush( Rect & rect, Color & color1, Color & color2, REAL angle, BOOL isAngleScalable );
LinearGradientBrush( Rect & rect, Color & color1, Color & color2, LinearGradientMode mode);
point1和point2分别用来指定矩形区域的左上角和右下角点坐标。 color1和color2分别用来指定 渐变起始和终止的颜色。
rect用来指定一个矩形区域的大小和位置,angle用来指定渐变的方向角度,正值为顺时针。
isAngleScalable是一个即将废除的参数。mode用来指定渐变的方法。 预定义样式:
LinearGradientModeHorizontal (水平方向) LinearGradientModeVertical (垂直方向)
LinearGradientModeForwardDiagonal (从左下到右上的对角线方向) LinearGradientModeBackwardDiagonal (从左上到右下的对角线方向)
路径渐变PathGradientBrush
PathGradientBrush( const GraphicsPath* path);
PathGradientBrush( const Point * points, INT count, WrapMode wrapMode);
path用来指定一个路径指针,points和count分别用来指定组成路径的一系列直线端点的数组及其大小, wrapMode是一个可选项,用
来指定填充的包围模式。一个包围模式用来决定是否在区域内部、在区域外部以及所有区域都填充。默认时,其值为 WrapModeClamp,即在区域内部填充。 图像画刷TextureBrush
TextureBrush(Image*, WrapMode);
矩阵
图形变换一般是对图形的几何信息经过几何变换后产生新的图形。常见二维图形的变换有平移、比例、对称、旋转、错切 等。图形几何变换最有效的手段是采用矩阵变换,GDI+就有这样的矩阵类Matrix,它为我们提供了许多变换的方法,如Invert(转置)、 Multiply(矩阵相乘)、Rotate(旋转)等。
需要说明的是,除了使用Matrix进行图形变换外,Graphics本身提供相应的变换方法,如RotateTransform(旋转变换)、
ScaleTransform(比例变换)和TranslateTransform(平移变换)等。
基本绘图函数
绘图函数 功能描述
DrawArc 绘制一条圆弧曲线,范围由起止角大小决定,大小由矩形或长宽值指定
DrawBezier 绘制一条由一系列型值顶点决定的三次Bezier曲线 DrawBeziers 绘制一系列的三次Bezier曲线
DrawClosedCurve 绘制一条封闭的样条曲线 DrawCurve 绘制一条样条曲线
DrawEllipse 绘制一条椭圆轮廓线,大小由矩形或长宽值指定 DrawLine 绘制一条直线
DrawPath 绘制由GraphicsPath定义的路径轮廓线 DrawPie 绘制一条扇形(饼形)轮廓线 DrawPolygon 绘制一个多边形的轮廓线 DrawRectangle 绘制一个矩形 FillEllipse 填充一个椭圆区域 FillPath 填充一个由路径指定的区域 FillPie 填充一个扇形(饼形)区域 FillPolygon 填充一个多边形区域 FillRectangle 填充一个矩形区域
FillRectangles 用同一个画刷填充一系列矩形区域 FillRegion 填充一个区域(Region)的内部
文字
Font( FontFamily* , REAL , INT , Unit ) 字体的主要构造函数 FontFamily fontFamily(L\幼圆\//定义字型
Font font(&fontFamily, 12, FontStyleRegular, UnitPoint); //定义字体
FontFamily * : 指向用来定义字型的类的指针。
REAL : 字号,这里的字号可以使用小数定义。而且字号的单位也是由第4个参数指定的。
INT : 字体风格,FontStyleRegular(正常)、FontStyleBold(加粗)、 FontStyleItalic(斜体)、FontStyleBoldItalic (粗斜体)、FontStyleUnderline(下划线) 和FontStyleStrikeout(删除线)。 Unit : GDI+为用户提供了UnitDisplay(1/75英寸)、UnitPixel(像素)、UnitPoint(点)、UnitInch(英寸)、UnitDocument(1/300英寸)、UnitMillimeter(毫米)等字体尺寸单位。 为了兼容GDI 字体还有其他的几个构造函数
Font( HDC hdc, const LOGFONTW* logfont) 是其中比较常用的构造函数之一,可以看出是完全与GDI兼容的。 GDI+只有一个输出文本的函数DrawString,原型如下
DrawString( const WCHAR* string, INT length, const Font* font, const RectF& layoutRect, const StringFormat* stringFormat, const Brush* brush );
DrawString( const WCHAR* string, INT length, const Font* font, const PointF& origin, const Brush* brush );
DrawString( const WCHAR* string, INT length, const Font* font, const PointF& origin, const StringFormat* stringFormat, const Brush* brush);
其中,string用来指定要输出的字符串,length表示该字符串的长度,font用来指定字体, layoutRect用来指定一个字符串所输出的矩形
…… 此处隐藏:1129字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




