C#--GDI+ TextureBrush画刷

简介: TextureBrush对象用于基于光栅的图像来填充图形。它使用一个来自图像文件如.bmp、.jpg或.png的图像。使用Bitmap类可以从文件中获取图像,Bitmap类时Image类的一个子类,为此,可以使用如下代码用图案填充: 1 private void Form1_...

       TextureBrush对象用于基于光栅的图像来填充图形。它使用一个来自图像文件如.bmp、.jpg或.png的图像。使用Bitmap类可以从文件中获取图像,Bitmap类时Image类的一个子类,为此,可以使用如下代码用图案填充:

 
 
1 private void Form1_Paint( object sender, PaintEventArgs e)
2 {
3 Graphics g = e.Graphics;
4 Bitmap bmp = new Bitmap( " D:\\Images\\alphabet.gif " );
5 TextureBrush tb = new TextureBrush(bmp);
6
7 g.FillRectangle(tb, 20 , 20 , 200 , 70 );
8 bmp.Dispose();
9 tb.Dispose();
10 }

得到的图像为:

img_3ea4c3a534e29ec7b9584280e36d25e1.jpg

把图像中的一个选区作为平铺图片,重载TextureBrush构造函数为允许选择图像的一部分用作TextureBrush填充图形是的平铺图片。如:

 
 
1 private void Form1_Paint( object sender, PaintEventArgs e)
2 {
3 Graphics g = e.Graphics;
4 Bitmap bmp = new Bitmap( " D:\\Images\\alphabet.gif " );
5 TextureBrush tb = new TextureBrush(bmp, new Rectangle( 0 , 0 , 25 , 25 ));
6
7 g.FillRectangle(tb, 20 , 20 , 200 , 70 );
8 g.FillRectangle(tb, 45 , 45 , 70 , 150 );
9 bmp.Dispose();
10 tb.Dispose();
11 }

图像为:

img_45c9f53f2aab660a4bc0b115c4259d0e.jpg

 

相关文章
|
8月前
|
C#
C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容
C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容
|
8月前
|
C#
C# GDI+绘图(三)GDI+实现QQ截图类似功能
C# GDI+绘图(三)GDI+实现QQ截图类似功能
|
8月前
|
C#
C# GDI+绘图(二)进阶---Pen/Brush以及坐标轴平移和旋转等
上一篇C# GDI+绘图(一)GDI+介绍及基础,我们介绍了,GDI+的基础,这篇我们对其进阶内容进行学习,分别为Pen/Brush以及坐标轴操作
|
8月前
|
C# 图形学
C# GDI+绘图(一)GDI+介绍及基础
最近,项目中,有一块比较发杂的网格,并在网格上绘有各种颜色和文本,在Dev库中并未找到能实现这种功能的现有或可以二次开发的控件,因此,涉及到GDI+绘图这块陌生的领域。下面即时我在本次学习过程中的笔记,本次内容一共分为4篇,分别都有各自的代码或工程文件提供,有需要的朋友可以下载。
|
C# 图形学
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
GDI+中对于圆弧的绘制,是以给定的长方形(Rectangle`结构)为边界绘制的椭圆的一部分形成的圆弧。绘制的圆弧的中心为长方形内切椭圆的圆心(如果是正方形,则正方形的...
438 0
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
|
C# 图形学 Windows
C# GDI+编程之Graphics类
GDI+是GDI的后继者,它是.NET Framework为操作图形提供的应用程序编程接口,主要用在窗体上绘制各种图形图像,可以用于绘制各种数据图像、数学仿真等。 Graphics类是GDI+的核心,它提供将对象绘制到显式设备的方法。Graphics类封装了绘制直线、曲线、圆形、图像和文本的方法,是一切GDI+操作的基础类。在绘图之前,必须在指定的窗体上创建一个Graphics对象,才能调用Graphics类的方法画图。
287 0
C# GDI+编程之Graphics类
|
区块链 C# 图形学