Метод ID2D1DeviceContext::CreateImageBrush(ID2D1Image*,constD2D1_IMAGE_BRUSH_PROPERTIES&,ID2D1ImageBrush**) (d2d1_1.h)
Создает кисть изображения. Входное изображение может быть любым типом изображения, включая растровое изображение, эффект или список команд.
Синтаксис
HRESULT CreateImageBrush(
[in] ID2D1Image *image,
[in, ref] const D2D1_IMAGE_BRUSH_PROPERTIES & imageBrushProperties,
[out] ID2D1ImageBrush **imageBrush
);
Параметры
[in] image
Тип: ID2D1Image*
Изображение, используемое в качестве источника для кисти изображения.
[in, ref] imageBrushProperties
Тип: const D2D1_IMAGE_BRUSH_PROPERTIES
Свойства, относящиеся к кисти изображения.
[out] imageBrush
Тип: ID2D1ImageBrush**
При возврате этого метода содержит адрес указателя на входные прямоугольники.
Возвращаемое значение
Тип: HRESULT
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
HRESULT | Описание: |
---|---|
S_OK | Без ошибок. |
E_OUTOFMEMORY | Direct2D не удалось выделить достаточно памяти для завершения вызова. |
E_INVALIDARG | В метод передано недопустимое значение. |
Комментарии
Кисть изображения может использоваться для заполнения произвольной геометрии, маски непрозрачности или текста.
В этом примере показано рисование прямоугольника с помощью кисти изображения.
HRESULT
CreatePatternBrush(
__in ID2D1DeviceContext *pDeviceContext,
__deref_out ID2D1ImageBrush **ppImageBrush
)
{
HRESULT hr = S_OK;
ID2D1Image *pOldTarget = NULL;
pDeviceContext->GetTarget(&pOldTarget);
ID2D1CommandList *pCommandList = NULL;
hr = pDeviceContext->CreateCommandList(&pCommandList);
if (SUCCEEDED(hr))
{
pDeviceContext->SetTarget(pCommandList);
hr = RenderPatternToCommandList(pDeviceContext);
}
pDeviceContext->SetTarget(pOldTarget);
ID2D1ImageBrush *pImageBrush = NULL;
if (SUCCEEDED(hr))
{
hr = pDeviceContext->CreateImageBrush(
pCommandList,
D2D1::ImageBrushProperties(
D2D1::RectF(198, 298, 370, 470),
D2D1_EXTEND_MODE_WRAP,
D2D1_EXTEND_MODE_WRAP,
D2D1_INTERPOLATION_MODE_LINEAR
),
&pImageBrush
);
}
// Fill a rectangle with the image brush.
if (SUCCEEDED(hr))
{
pDeviceContext->FillRectangle(
D2D1::RectF(0, 0, 100, 100), pImageBrush);
}
SafeRelease(&pImageBrush);
SafeRelease(&pCommandList);
SafeRelease(&pOldTarget);
return hr;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | d2d1_1.h |
DLL | D2d1.dll |
См. также раздел
ID2D1DeviceContext::CreateCommandList
ID2D1DeviceContext::CreateEffect