TextureBrush::TextureBrush (Image*,constRect&,constImageAttributes*) 方法 (gdiplusbrush.h)

基于图像、定义矩形和一组图像属性创建 TextureBrush 对象。

语法

void TextureBrush(
  [in]      Image                 *image,
  [in, ref] const Rect &          dstRect,
  [in]      const ImageAttributes *imageAttributes
);

参数

[in] image

类型: 图像*

指向 Image 对象的指针,该对象包含要使用的图像的位图。

[in, ref] dstRect

类型: 矩形

对矩形的引用,该矩形定义此纹理画笔的大小以及此纹理画笔要使用的图像部分。 如果 Image 对象是从图元文件创建的,则画笔将使用整个图像,该图像会根据画笔的大小进行缩放。

[in] imageAttributes

类型: ImageAttributes*

可选。 指向包含图像属性的 ImageAttributes 对象的指针。 默认值为 NULL。

返回值

备注

dstRect 矩形的宽度和高度定义纹理画笔的宽度和高度。 纹理画笔始终面向 (0,0) 。 矩形的左上角点、宽度和高度指定纹理画笔要使用的图像部分的起点、宽度和高度。

此构造函数如何使用具有非可识别图像的 dstRect 矩形

如果 dstRect 矩形的尺寸小于画笔所基于的图像的尺寸,则剪裁画笔的图像是图像的一部分。 如果 dstRect 矩形的尺寸等于图像的尺寸,则画笔的图像与图像相同。 dstRect 矩形不得包含图像尺寸以外的区域。 这样做将产生不可预知的行为或生成运行时错误。 例如,假设图像为 256 ×256 像素,并且基于此图像创建 TextureBrush 对象,并作为 dstRect 参数传递。 画笔将使用图像左下角部分。 此部分的左下角也是图像的左下角。 现在,假设基于同一图像创建另一个 TextureBrush 对象,并作为 dstRect 参数传递。 请注意,此矩形的最上部坐标为 157 而不是 156。 此矩形将一个单位扩展到图像的高度之外,并且很可能生成访问冲突。

此构造函数如何将 dstRect 矩形与图元文件图像配合使用

如果 dstRect 矩形的尺寸与图像的尺寸不同,则画笔的图像会根据需要缩小或变大以适应矩形。 例如,假设有一个 256 ×256 像素的图元文件图像,并且创建了 一个 TextureBrush 对象,该对象作为 dstRect 参数传递。 画笔的图像将包括所有图元文件图像,但会缩放以适应画笔:它将垂直挤压和水平拉伸。 如果矩形的尺寸等于图像的尺寸,则画笔的图像与图像相同。

要求

   
最低受支持的客户端 Windows XP、Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 gdiplusbrush.h (包括 Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

另请参阅

画笔和填充形状

使用图像纹理填充形状

图像

ImageAttributes

Rect

TextureBrush