GDI+基础知识——通过画刷构建画笔
2012-12-10 20:28
441 查看
先看效果:
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();
}
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+基础知识 反锯齿技术
- 基础·通过代码构建简单DW
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述
- 网站构建基础知识
- 通过一段代码学习javascript基础知识系列
- 【译文】构建一个图书推荐系统 – 基础知识、knn算法和矩阵分解
- 基础知识-通过引用来传递函数参数(直接访问函数参数)
- GDI+ Image通过资源ID构建对象
- 股票基础入门知识10:构建保守型股票投资组合
- iOS基础——通过案例学知识之UITableView
- 通过脚本学shell编程——相关基础知识之shell内置变量命令(更新中)
- vb.net GDI+入门——画笔、画刷和颜色
- vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除
- 运维小白的成长日记第四天-基础网络构建OSI七层模型-物理层基础知识
- 搜索引擎研究基础知识之一:构建链接
- GDI+基础知识三 钢笔(pen)和笔刷(brush) 1