学习贴图,可拉伸图片大小
学习使用画刷,创建不同类型画刷,并用画刷产生画笔
private void button1_Click(object sender, EventArgs e)//画图响应按钮(类似完成MFC中BitBlt或StrechBlt的功能) { Bitmap bitmap = new Bitmap(@"D:/工作照.jpg"); Graphics g = CreateGraphics(); //获得窗口屏幕大小 Rectangle rect = System.Windows.Forms.SystemInformation.VirtualScreen; int width = rect.Width; int height = rect.Height; g.DrawImage(bitmap, rect); button1.Visible = true; } private void button2_Click(object sender, EventArgs e)//动态输出文字(类似MFC中的TextOut()) { Font myFont = new Font("Verdana", 12); Graphics g = CreateGraphics(); //创建线渐变画刷: LinearGradientBrush myBrush = new LinearGradientBrush(ClientRectangle, Color.FromArgb(120, 120, 250), Color.Red, LinearGradientMode.Vertical); // g.DrawString("GDI 显示字符串", myFont, myBrush, new RectangleF(10, 10, 500, 200)); //创建一般画刷: SolidBrush bru1 = new SolidBrush(Color.FromArgb(250, 200, 0)); g.DrawString("GDI 显示字符串", myFont, bru1, new RectangleF(10, 10, 500, 200)); Pen newpen = new Pen(bru1); Point[] p = new Point[] { new Point(0, 0), new Point(100, 100), new Point(50, 100), new Point(200, 100) }; g.DrawEllipse(newpen,50,50, 100, 100); }
附录:
1.
命名空间: System.Drawing.Drawing2D
SolidBrush:一般的画刷,通常只用一种颜色去填充GDI+图形
创建一般画刷:
SolidBrush sdBrush1 =newSolidBrush(Color); |
HatchBrush:阴影画刷,有两种颜色:前景色和背景色,以及6种阴影。
创建阴影画刷:
HatchBrush(HatchStyle,Color);//前景 HatchBrush(HatchStyle,Color,Color);//前景、背景 |
HatchStyle对应阴影方案列表。
名称 |
说明 |
BackwardDiagonal |
从右上到左下的对角线的线条图案。 |
Cross |
指定交叉的水平线和垂直线。 |
DarkDownwardDiagonal |
从顶点到底点向右倾斜的对角线,两边夹角比ForwardDiagonal小50%,宽度是其两倍。此阴影图案不是锯齿消除的。 |
DarkHorizontal |
指定水平线的两边夹角比Horizontal小50%并且宽度是Horizontal的两倍。 |
DarkUpwardDiagonal |
指定从顶点到底点向左倾斜的对角线,其两边夹角比BackwardDiagonal小50%,宽度是其两倍,但这些直线不是锯齿消除的。 |
DarkVertical |
指定垂直线的两边夹角比Vertical小50%并且宽度是其两倍。 |
DashedDownwardDiagonal |
指定虚线对角线,这些对角线从顶点到底点向右倾斜。 |
DashedHorizontal |
指定虚线水平线。 |
DashedUpwardDiagonal |
指定虚线对角线,这些对角线从顶点到底点向左倾斜。 |
DashedVertical |
指定虚线垂直线。 |
DiagonalBrick |
指定具有分层砖块外观的阴影,它从顶点到底点向左倾斜。 |
DiagonalCross |
交叉对角线的图案。 |
Divot |
指定具有草皮层外观的阴影。 |
ForwardDiagonal |
从左上到右下的对角线的线条图案。 |
Horizontal |
水平线的图案。 |
HorizontalBrick |
指定具有水平分层砖块外观的阴影。 |
LargeGrid |
指定阴影样式Cross。 |
LightHorizontal |
指定水平线,其两边夹角比Horizontal小50%。 |
LightVertical |
指定垂直线的两边夹角比Vertical小50%。 |
指定阴影样式SolidDiamond。 |
|
Min |
指定阴影样式Horizontal。 |
NarrowHorizontal |
指定水平线的两边夹角比阴影样式Horizontal小 75%(或者比LightHorizontal小25%)。 |
NarrowVertical |
指定垂直线的两边夹角比阴影样式Vertical小 75%(或者比LightVertica小25%)。 |
OutlinedDiamond |
指定互相交叉的正向对角线和反向对角线,但这些对角线不是锯齿消除的。 |
Percent05 |
指定5%阴影。前景色与背景色的比例为5:100。 |
Percent90 |
指定90%阴影。前景色与背景色的 |