GDI+ C 画图 输出文字

这篇博客介绍了如何使用GDI+在C#中进行图像绘制,包括加载图片、调整图片大小、动态输出文字以及利用不同类型的画刷进行图形绘制。示例代码展示了画图响应按钮事件和动态输出文字的方法,如使用线性渐变画刷和普通画刷创建文字效果。此外,还提及了画刷的多种类型,如SolidBrush、HatchBrush、TextureBrush和PathGradientBrush。
摘要由CSDN通过智能技术生成
               

学习贴图,可拉伸图片大小

 

学习使用画刷,创建不同类型画刷,并用画刷产生画笔

 

       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%。

Max

指定阴影样式SolidDiamond。

Min

指定阴影样式Horizontal。

NarrowHorizontal

指定水平线的两边夹角比阴影样式Horizontal小 75%(或者比LightHorizontal小25%)。

NarrowVertical

指定垂直线的两边夹角比阴影样式Vertical小 75%(或者比LightVertica小25%)。

OutlinedDiamond

指定互相交叉的正向对角线和反向对角线,但这些对角线不是锯齿消除的。

Percent05

指定5%阴影。前景色与背景色的比例为5:100。

Percent90

指定90%阴影。前景色与背景色的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值