GDI+学习记录(12)-纹理画刷TextureBrush的排列方式
来源:互联网 发布:手机淘宝查注册时间 编辑:程序博客网 时间:2024/06/06 04:22
在TextureBrush 类的构造函数的参数中,WrapMode 指定了画刷中基本图案的排列方式,GDI+ 的WrapMode 枚举提供了五种不同的排列方式:
具体的应用如下图所示:
使用上一章的金鱼图片进行填充,Demo:
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.Clear(Color.White); Pen myPen = new Pen(Color.Blue, 3); SolidBrush sBrush = new SolidBrush(Color.Black); Font myFont = new Font("Arial", 13); //装入纹理图片 Bitmap bmp = new Bitmap(@"C:\Users\ThinkPad\Desktop\GDI+(12)-纹理画刷TextureBrush的排列方式\Nemo.jpg"); //构建纹理画刷 TextureBrush tBrush = new TextureBrush(bmp); //对画刷进行缩放,以便查看效果 Matrix matrix = new Matrix(0.5f, 0.0f, 0.0f, 0.5f, 0.0f, 0.0f); tBrush.Transform = matrix; int i = 0; //对图片不使用排列方式 tBrush.WrapMode = WrapMode.Clamp; g.FillRectangle(tBrush, new Rectangle(i * 150, 10, 150, 150)); g.DrawRectangle(myPen, new Rectangle(i * 150, 10, 150, 150)); g.DrawString("Clamp", myFont, sBrush, new PointF(0, 170)); i += 1; //对图片使用平铺排列方式 tBrush.WrapMode = WrapMode.Tile; g.FillRectangle(tBrush, new Rectangle(i * 150 + 20, 10, 150, 150)); g.DrawRectangle(myPen, new Rectangle(i * 150 + 20, 10, 150, 150)); g.DrawString("Tile",myFont,sBrush,new PointF(180,170)); i += 1; //对图片使用水平翻转排列方式 tBrush.WrapMode = WrapMode.TileFlipX; g.FillRectangle(tBrush, new Rectangle(i * 150 + 40, 10, 150, 150)); g.DrawRectangle(myPen, new Rectangle(i * 150 + 40, 10, 150, 150)); g.DrawString("TileFlipX", myFont, sBrush, new PointF(360, 170)); //对图片使用垂直翻转排列方式 tBrush.WrapMode = WrapMode.TileFlipY; g.FillRectangle(tBrush, new Rectangle(10, 200, 150, 150)); g.DrawRectangle(myPen, new Rectangle(10, 200, 150, 150)); g.DrawString("TileFlipX", myFont, sBrush, new PointF(10, 360)); //对图片使用水平、垂直同时翻转排列方式 tBrush.WrapMode = WrapMode.TileFlipXY; g.FillRectangle(tBrush, new Rectangle(180, 200, 150, 150)); g.DrawRectangle(myPen, new Rectangle(180, 200, 150, 150)); g.DrawString("TileFlipXY", myFont, sBrush, new PointF(180, 360)); //释放资源 myPen.Dispose(); myFont.Dispose(); sBrush.Dispose(); tBrush.Dispose(); bmp.Dispose(); }
- GDI+学习记录(12)-纹理画刷TextureBrush的排列方式
- GDI+学习记录之纹理画刷TextureBrush
- GDI+学习记录(11)- 纹理画刷 TextureBrush的基本使用
- c#纹理画刷TextureBrush
- GDI+ for VCL基础 -- 画刷之TextureBrush
- GDI+学习记录(9)- 单色画刷 SolidBrush
- GDI+学习记录(13)-线性渐变画刷 LinearGrandientBrush
- GDI+学习记录(15)-路径渐变画刷
- GDI+学习记录---前言
- GDI+学习记录00
- 纹理的滤波方式
- 纹理的滤波方式
- GDI+学习记录(1)-Graphics
- GDI+学习记录(14)-线性渐变画刷之多色渐变
- Winform画背景图片的两种方法TextureBrush与Graphics.DrawImage()
- 纹理坐标的计算方式
- 利用TextureBrush时的图像偏移问题。
- 利用TextureBrush时的图像偏移问题
- 取消php和phpMyAdmin上传最大2M文件限制 转
- Lua的sleep函数(转)
- Android SDCard Mount 流程分析
- CAN 总线嵌入式驱动编程
- .NET笔试题集(二)
- GDI+学习记录(12)-纹理画刷TextureBrush的排列方式
- 静心,静心,再静心
- linux时间管理函数
- SVN 修改用户登录
- Xampp安装教程
- java中汉字转换成拼音首字母
- 通过一段汇编,加深对寄存器ESP和EBP的理解
- SecureCRT 设置 彩色 中文
- 【insigma】Struts2lib包和Strut文件的添加、配置、标签库、Session