TextureBrush::SetTransform 方法 (gdiplusbrush.h)

TextureBrush::SetTransform 方法设置此纹理画笔的转换矩阵。

语法

Status SetTransform(
  [in] const Matrix *matrix
);

parameters

[in] matrix

类型: const Matrix*

指向 Matrix 对象的指针,该对象指定要使用的转换矩阵。

返回值

类型: 状态

如果方法成功,则返回 Ok,这是 Status 枚举的元素。

如果 方法失败,它将返回 Status 枚举的其他元素之一。

注解

TextureBrush 对象维护可存储任何仿射转换的转换矩阵。 使用纹理画笔填充区域时,Windows GDI+ 会根据画笔的转换矩阵转换画笔的图像,然后填充该区域。 转换后的图像仅在呈现期间存在;不会转换 存储在 TextureBrush 对象中的图像。 例如,假设调用 ,然后使用 someTextureBrush.ScaleTransform (3) 绘制区域,然后使用 someTextureBrush 绘制区域。 画笔图像的宽度在绘制区域时是三倍,但存储在 someTextureBrush 中的图像保持不变。

示例

以下示例创建纹理画笔并设置画笔的转换。 然后,代码使用转换后的画笔填充椭圆。

VOID Example_SetTransform(HDC hdc)
{
   Graphics graphics(hdc);

   Matrix matrix(2, 0, 0, 1, 0, 0);  // Horizontal stretch

   Image image(L"HouseAndTree.gif");
   TextureBrush textureBrush(&image);
   textureBrush.SetTransform(&matrix);
   graphics.FillEllipse(&textureBrush, 0, 0, 400, 200); 
}

要求

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

另请参阅

画笔和填充形状

坐标系和坐标转换

使用图像纹理填充形状

矩阵

TextureBrush

TextureBrush::GetTransform

TextureBrush::ResetTransform

转换