본문 바로가기

DirectX/Direct2D,DirectWrite

Direct2D Hello World Sample

https://docs.microsoft.com/en-us/samples/microsoft/windows-classic-samples/direct2dhelloworld/

 

Direct2D Hello World Sample - Code Samples

Draws a simple text string with Direct2D.

docs.microsoft.com

 

Text를 출력하기위해 Creating a Simple Direct2D Application 샘플과 다른 점 위주로 학습

docs.microsoft.com/ko-kr/windows/win32/direct2d/direct2d-quickstart

 

간단한 Direct2D 응용 프로그램 만들기 - Win32 apps

Direct2D 콘텐츠를 렌더링 하는 창을 만드는 과정을 안내 합니다.

docs.microsoft.com

 

//이 프로젝트에서 사용하지않고 선언만 돼있음, ※WIC

IWICImagingFactory *m_pWICFactory;

 

//Used to create all subsequent DirectWrite objects.

IDWriteFactory *m_pDWriteFactory;

 

//폰트 및 단락 특성, 로케일 정보를 설명하는 인터페이스

IDWriteTextFormat *m_pTextFormat;

 

로케일은 사용자의 언어, 국가뿐 아니라 사용자 인터페이스에서 사용자가 선호하는 사항을 지정한 매개 변수의 모임

 

 

//어떠한 device와도 묶여있지 않은 리소스를 생성한다.

//리소스 : Direct2D 와 DirectWirte 팩토리, DirectWrite Text Format 객체

CreateDeviceIndependentResources()

{

WCHAR : 16-bit UNICODE character, 폰트 이름을 받는 자료형

 

ID2D1GeometrySink 

Describes a geometric path that can contain lines, arcs, cubic Bezier curves, and quadratic Bezier curves

 

// Create a DirectWrite factory.

hr = DWriteCreateFactory(...)

 

// Create a DirectWrite text format object.

 hr = m_pDWriteFactory->CreateTextFormat(...)

 

// Center the text horizontally and vertically.

m_pTextFormat->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_CENTER)

m_pTextFormat->SetParagraphAlignment(DWRITE_PARAGRAPH_ALIGNMENT_CENTER)

}




OnRender()

{

m_pRenderTarget->DrawText(

           텍스트 내용(WCHAR 형 문자 배열),

           ARRAYSIZE(sc_helloWorld) - 1,

           텍스트 포맷(IDWriteTextFormat 포인터),

           D2D1::RectF(0, 0, renderTargetSize.width, renderTargetSize.height),

           색(ID2D1SolidColorBrush 포인터)

           );

}

 

 

 

 

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

※ WIC(Windows Imaging Component)

 

 - Direct2D를 사용하여 프로그램을 할 때 이미지 파일에서 이미지를 읽거나 저장할 때 사용

 - 각종 이미지(영상)를 압축하거나 해제 또는 변환하는 컴포넌트

 - WIC를 사용하여 읽은 이미지 정보는 Direct2D에서 사용 가능