Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает преобразование, применяемое к кисти.
Список перегрузки
| Метод | Description |
|---|---|
| SetTransform(D2D1_MATRIX_3X2_F> | Задает преобразование, применяемое к кисти. |
| SetTransform(D2D1_MATRIX_3X2_F*) | Задает преобразование, применяемое к кисти. |
Замечания
При рисовании с помощью кисти он красит в координатном пространстве целевого объекта отрисовки. Кисти не позиционируют себя автоматически, чтобы выровнять объект; по умолчанию они начинают рисование в источнике (0, 0) целевого объекта отрисовки.
Градиент, определенный идентификатором ID2D1LinearGradientBrush , можно переместить в целевую область, задав начальную точку и конечную точку. Аналогичным образом можно переместить градиент, определенный идентификатором ID2D1RadialGradientBrush , изменив его центр и радии.
Чтобы выровнять содержимое id2D1BitmapBrush с областью, можно использовать метод SetTransform для перевода растрового изображения в нужное расположение. Это преобразование влияет только на кисть; Он не влияет на любое другое содержимое, рисуемое целевым объектом отрисовки.
На следующих рисунках показан эффект использования ID2D1BitmapBrush для заполнения прямоугольника (100, 100). На рисунке слева показан результат заполнения прямоугольника без преобразования кисти: растровое изображение рисуется в источнике целевого объекта отрисовки. В результате в прямоугольнике отображается только часть растрового изображения.
На рисунке справа показан результат преобразования ID2D1BitmapBrush , чтобы его содержимое переместилось 50 пикселей вправо и 50 пикселей вниз. Растровое изображение теперь заполняет прямоугольник.
Examples
В следующих примерах кода показано, как создать преобразование, показанное на правой схеме на предыдущем рисунке. Сначала примените перевод к id2D1BitmapBrush, переместив кисть 50 пикселей вправо вдоль оси x и 50 пикселей вниз по оси y. Затем используйте id2D1BitmapBrush , чтобы заполнить прямоугольник, имеющий верхний левый угол (100, 100) и нижний правый угол (200, 200).
// Create the bitmap to be used by the bitmap brush.
if (SUCCEEDED(hr))
{
hr = LoadResourceBitmap(
m_pRenderTarget,
m_pWICFactory,
L"FERN",
L"Image",
&m_pBitmap
);
}
if (SUCCEEDED(hr))
{
hr = m_pRenderTarget->CreateBitmapBrush(
m_pBitmap,
&m_pBitmapBrush
);
}
D2D1_RECT_F rcTransformedBrushRect = D2D1::RectF(100, 100, 200, 200);
// Demonstrate the effect of transforming a bitmap brush.
m_pBitmapBrush->SetTransform(
D2D1::Matrix3x2F::Translation(D2D1::SizeF(50,50))
);
// To see the content of the rcTransformedBrushRect, comment
// out this statement.
m_pRenderTarget->FillRectangle(
&rcTransformedBrushRect,
m_pBitmapBrush
);
m_pRenderTarget->DrawRectangle(rcTransformedBrushRect, m_pBlackBrush, 1, NULL);
Требования
| Требование | Ценность |
|---|---|
| Заголовок |
|
| Library |
|
| DLL |
|