F.R.I.D.A.Y.

Direct2D - ID2D1SolidColorBrush 본문

DEV/Direct2D

Direct2D - ID2D1SolidColorBrush

F.R.I.D.A.Y. 2021. 4. 5. 05:48
반응형

 단일 색상 브러시를 구현할 때 필요한 인터페이스이다.


ID2D1SolidColorBrush

 ID2D1HwndRenderTarget에서 생성할 수 있는 브러시에 대한 정보를 담는 객체의 인터페이스다. 사각형 등의 도형을 그릴 때 선의 색을 이 인터페이스로 구현된 객체로 정하기도 한다.

 

CreateSolidColorBrush

 ID2D1HwndRenderTarget에 존재하는 메서드로, 브러시 객체를 생성할 수 있다.

함수 원형
HRESULT CreateSolidColorBrush(
  const D2D1_COLOR_F & color,
  ID2D1SolidColorBrush **solidColorBrush
);

 

D2D1_COLOR_F

 D2D1::ColorF 메서드로 생성하는 값으로, struct D3DCOLORVALUE에서 왔다.

struct D3DCOLORVALUE {
  FLOAT r;
  FLOAT g;
  FLOAT b;
  FLOAT a;
};

 각 레드(r), 그린(g), 블루(b), 알파(a) 값을 가지고 있다. D2D1::ColorF::Black과 같이 기본으로 선언된 값이 존재한다.

 

ID2D1SolidColorBrush**

 이 함수를 수행하고나서 생성된 브러시를 저장할 포인터의 주소를 담는다.

 

 

사용 예제

 아래 코드를 이용하면 cyan 색의 SolidColorBrush를 생성할 수 있다.

ID2D1HwndRenderTarget* pRT;
// ID2D1HwndRenderTarget 객체는 이미 생성되어 있다고 가정한다.
ID2D1SolidColorBrush* pBrush;

pRT->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::Cyan), &pBrush);

 

 

GetColor()

 현재 브러시의 색상을 가져온다. 반환 값은 당연히 D2D1_COLOR_F

 

SetColor(D2D1_COLOR_F)

 현재 브러시에 새로운 색을 적용한다.

 

# index

728x90
반응형

'DEV > Direct2D' 카테고리의 다른 글

Direct2D - 텍스트 출력하기 Intro.  (0) 2021.04.10
Direct2D에서 MessageBox가 나오지 않는 문제  (0) 2021.04.08
Direct2D - DrawRectangle()  (0) 2021.04.05
Direct2D - Resize()  (0) 2021.04.04
Direct2D - Clear()  (0) 2021.04.04
Comments