GDI+基础知识——通过画刷构建画笔
来源:互联网 发布:防盗窗面积算法 编辑:程序博客网 时间:2024/05/18 14:45
先看效果:
private void CreatePenFromBrush_Click(object sender, System.EventArgs e)
{
Graphics gg = this.CreateGraphics();
gg.SmoothingMode = SmoothingMode.HighQuality;
if(m_Bitmap == null)
{
m_Bitmap = new Bitmap(ClientSize.Width,ClientSize.Height);
gg.Clear(Color.White);
}
Graphics g = Graphics.FromImage(m_Bitmap);
g.SmoothingMode = SmoothingMode.HighQuality;
g.Clear(Color.White);
//构造线性渐变画刷
LinearGradientBrush LineargradientBrush = new LinearGradientBrush(new Rectangle(0,0,10,10),
Color.Blue,Color.Red, LinearGradientMode.ForwardDiagonal);
//从线性渐变画刷中构造画笔
Pen pen = new Pen(LineargradientBrush);
pen.Width = 10;
//绘制矩形
g.DrawRectangle(pen,10,10,100,100);
LinearGradientBrush LineargradientBrush45 = new LinearGradientBrush(
new Rectangle(10,0,40,40),
Color.Yellow,Color.Red,45f,true);
pen = new Pen(LineargradientBrush45);
pen.Width = 40;
g.TranslateTransform(130,0);
g.DrawRectangle(pen,10,10,100,100);
//装入纹理图片
Bitmap image = new Bitmap("butterfly.bmp");
//构造纹理画刷
//TextureBrush tBrush = new TextureBrush(image);
TextureBrush tBrush = new TextureBrush(image,WrapMode.TileFlipXY);
//将画刷传入画笔的构造函数
Pen texturedPen = new Pen(tBrush,50);
//设置贝塞尔曲线的起止点及控制点
Point p1 = new Point(10, 100);
Point c1 = new Point(100, 10);
Point c2 = new Point(350, 350);
Point p2 = new Point(400, 300);
g.TranslateTransform(130,0);
//绘制贝塞尔曲线
g.DrawBezier(texturedPen, p1, c1, c2, p2);
g.FillRectangle(LineargradientBrush45,0,350,200,60);
LineargradientBrush45.Dispose();
gg.DrawImage(m_Bitmap,0,0);
tBrush.Dispose();
image.Dispose();
g.Dispose();
}
- GDI+基础知识——通过画刷构建画笔
- GDI+基础知识——各种画笔线型
- GDI+基础知识——画笔的对齐方式
- GDI+基础知识——画笔的线帽属性示意
- GDI+基础知识——画笔的变换(缩放及旋转)
- vb.net GDI+入门——画笔、画刷和颜色
- 画笔与画刷&GDI坐标系
- Gdi+ 画笔
- GDI+ 画笔
- GDI+画笔的使用
- GDI+ Image通过资源ID构建对象
- GDI+ Image通过资源ID构建对象
- Gdiplus学习2——画笔与画刷
- 画笔和画刷
- 画笔和画刷
- 画刷和画笔
- 画笔和画刷
- 画刷和画笔
- 半导体物理-Threshold Voltage Model for FinFET
- 阿达(Ada Lovelace)
- VC用ADO访问数据库全攻略
- 无聊的c++期末实验验收(简单的通讯录管理系统)
- Win7 ASP连接数据库“未找到提供程序.该程序可能未正确安装”问题
- GDI+基础知识——通过画刷构建画笔
- malloc 和alloc及calloc的区别
- Centos下安装oracle 11g r2遇到的问题
- 随机数产生 M-N
- 2005年百度之星程序设计大赛试题初赛题目
- 利用SqlBulkCopy批量添加DataTable入SQL Server
- Bullet物理引擎教程: helloworld
- 定时器计数器初值求解
- GDI+基础知识——各种画笔线型