Share via


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 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2용 Windows Server 2012 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d2d1_1.h
DLL D2d1.dll

추가 정보

D2D1_BRUSH_PROPERTIES

D2D1_IMAGE_BRUSH_PROPERTIES

ID2D1DeviceContext

ID2D1DeviceContext::CreateCommandList

ID2D1DeviceContext::CreateEffect

ID2D1RenderTarget::D rawGeometry

ID2D1RenderTarget::FillGeometry