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

基于图像、环绕模式和定义矩形创建 TextureBrush 对象。

语法

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

参数

[in] image

类型: 图像*

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

[in] wrapMode

类型: WrapMode

WrapMode 枚举的元素,指定使用此纹理画笔绘制区域时如何使用图像的重复副本来平铺区域。

[in, ref] dstRect

类型: const Rect

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

返回值

备注

纹理画笔的宽度和高度由 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

另请参阅

画笔和填充形状

图像

Rect

TextureBrush

TextureBrush::GetWrapMode

TextureBrush::SetWrapMode

使用画笔填充形状

WrapMode