일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Tips강좌
- c#
- Javascript
- 백준
- Windows
- VS ERROR
- Desktop
- 프로그래밍
- Direct2D
- tipssoft
- 이지스퍼블리싱
- 김성엽
- Programming
- 티스토리
- 알고리즘
- Win32
- 문법
- 함수
- 포인터
- Tips프로그래밍강좌
- 지식나눔강좌
- c
- doit코틀린프로그래밍
- 배열
- 연산자
- CS
- Visual Studio
- c++
- Kotlin
- 리뷰
- Yesterday
- Today
- Total
목록DirectWrite (5)
F.R.I.D.A.Y.
Direct2D에서 텍스트 출력을 시행하기 전, 필요한 리소스를 생성할 수 있는 인터페이스 IDWriteFactory IUnknown 인터페이스로부터 상속받았기 때문에, 종종 IUnknown 으로 캐스팅해 넘길 때가 있습니다. CreateTextFormat 텍스트 레이아웃을 위한 객체를 생성합니다. 여기에서 텍스트 레이아웃이란 텍스트를 그릴 영역의 크기를 의미합니다. 만일 이 레이아웃의 크기보다 그리게 되는 텍스트의 크기가 큰 경우에는 알맞게 조정됩니다. 단, 영역 외로 그리지 못하게 했다면 해당 영역에 그려지는 부분만 화면에 노출됩니다. 이런 식의 텍스트를 그린다고 했을 때, 빨간 색 영역만큼을 텍스트 레이아웃으로 정하게 한 뒤, 문자열을 그리게 하면, ex의 일부만 나오게 되는 것입니다. 이렇게 말이..
Direct2D의 DirectWrite를 되짚어봅니다. DirectWrite DirectWrite[# 이하 DWrite]는 Direct2D에서 텍스트를 그리기 위한 인터페이스입니다. 필요 항목 DWrite는 사용하기 위해 아래의 내용이 필요합니다. ID2D1Factory ID2D1HwndRenderTarget IDWriteFactory IDWriteTextFormat ID2D1SolidColorBrush 초기화 순서 DWrite는 아래의 순서로 초기화를 진행합니다. Direct2D의 기반이 되는 ID2D1Factory를 초기화하고, 그렇게 만들어진 팩토리 객체로 하위 두 개[# ID2D1HwndRenderTarget, IDWriteFactory]의 객체를 추가로 초기화합니다. 그리고 각각의 객체를 통해 ..
텍스트 출력하기 1에서 구성한 코드를 기반으로 이제 출력하는 코드를 작성합니다. OnPaint 구성 이제 DirectWrite를 사용하기 위해 OnPaint 메서드를 구성하겠습니다. OnPaint 메서드를 구성하고 난 뒤, HandleMessage 메서드에 WM_PAINT와 OnPaint 메서드를 바인딩합니다. //mainWin.h - MainWindow private: LRESULT OnCreate(); LRESULT OnPaint(); // mainWin.cpp LRESULT MainWindow::OnPaint() { return 0; } // mainWin.cpp - HandleMessage switch (uMsg) { case WM_CREATE: { return OnCreate(); } case ..
Direct2D에서 텍스트 출력하기기본 환경 구성 DirectWrite를 사용할 수 있는 환경을 구성합니다. OnCreate 함수 바인딩 먼저 Direct2D를 사용할 수 있도록 구성하겠습니다. 메시지 핸들링을 기본 구조로 사용하므로 WM_CREATE 메시지에 대해 반응하는 함수 OnCreate 함수를 구성하고, 이어서 작성하겠습니다. 이렇게 만들어진 OnCreate 함수를 HandleMessage 함수에 바인딩 하겠습니다.LRESULT MainWindow::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam){ if (uMsg == WM_CLOSE) { PostQuitMessage(0); return 0; } else if (uMsg == WM_DESTR..
Direct2D에서 텍스트를 그리기 위해서는 DirectWrite라는 클래스를 이용합니다. 들어가기에 앞서 들어가기에 앞서 이 시리즈를 완벽히 따라한다면 아래와 같은 출력을 기대할 수 있습니다. 안내 이 시리즈는 다음 시리즈에서 파생되었습니다. Win32 BaseWindow Class 생성하기 지난 시간에 우리는 WinMain 함수와 WindowProc 함수를 생성하고 Windows Hello의 사진 암호와 비슷하게 작동하는 프로그램을 만들어 봤습니다. 프로그램은 비단 하나의 윈도우만을 가지고 있지는 않 pang2h.tistory.com 다음 정보를 사전에 알고 있어야 이해 가능합니다. Direct2D 기본 구조(Factory, RenderTarget) GDI/GDI+의 후속으로 여겨지는 Direct2D..