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);
矩阵