Top

d2d1 예제

이 모듈 전체에서 D2D1 네임스페이스의 예제를 볼 수 있습니다. 다음 예제에서는 CreateLinearGradientBrush 메서드를 사용하여 ID2D1LinearGradientientBrush(m_pLinearGradientBrush)를 만듭니다. D2D1::LinearGradientBrush속성 도우미 메서드를 사용하여 시작점(0, 0)과 끝점(150, 150)을 포함하는 D2D1_LINEAR_GRADIENT_BRUSH_BRUSH_PROPERTIES 구조를 만들고 CreateLinearGradientBrush 메서드에 전달합니다. 응용 프로그램은 프로젝트 설정을 통해 d2d1.lib에 연결하거나 #pragma 주석 (lib, “d2d1.lib”)을 사용하여 소스 파일 CreateHwndRenderTarget 메서드는 세 가지 매개 변수를 사용합니다. 첫 번째 매개 변수인 D2D1_RENDER_TARGET_PROPERTIES 구조체는 렌더링 대상을 소프트웨어 또는 하드웨어및 DPI에 렌더링하도록 강제할지 여부를 원격 표시 옵션을 지정합니다. 이 예제의 코드는 D2D1::RenderTargetProperties 도우미 함수를 사용하여 기본 렌더 대상 속성을 허용합니다. d2d1helper.h에는 도면을 돕기 위한 몇 가지 유용한 기능이 포함되어 있습니다. 자세한 내용은 헤더를 참조하십시오. 다음 예제에서는 사용자 지정 대시 패턴을 사용하는 스트로크를 만듭니다. 함수는 렌더 대상의 렌더링 영역을 처리합니다.

이 예제에서는 전체 창 영역을 사용할 것입니다. 아래 예제에서는 MFC 응용 프로그램에서 Direct2D 렌더링을 사용하도록 설정하는 단계를 제공합니다. 모든 API의 매개 변수를 설명하기는 어렵습니다. MSDN에서 참조하시기 바랍니다. 두 번째 매개 변수인 D2D1_HWND_RENDERD_TARGET_PROPERTIES 구조체는 콘텐츠가 렌더링되는 HWND, 렌더 대상의 초기 크기(픽셀) 및 프레젠테이션 옵션을 지정합니다. 이 예제에서는 D2D1::HwndRenderTarget속성 도움말 함수를 사용하여 HWND 및 초기 크기를 지정합니다. 기본 프레젠테이션 옵션을 사용합니다. Direct2D를 사용하는 Windows 스토어 앱을 만들려면 Windows 8에 대한 Direct2D 빠른 시작을 참조하십시오. Direct2D 콘텐츠를 만드는 데 사용할 수 있는 인터페이스에 대한 개요는 Direct2D API 개요를 참조하십시오. 여기서는 렌더링을 위한 대화 상자 기반 응용 프로그램을 사용합니다. SDI 또는 MDI와 같은 다른 유형의 응용 프로그램을 사용하는 경우 기능 및 메시지가 변경될 수 있습니다.

휠을 재창조할 필요가 없으며 마법사가 기본 대화 상자를 만들 수 있습니다. 중요한 것은 장면에 대해 그리는 것이 무엇이든 BeginDraw() API와 EndDraw() API 간에 수행해야 한다는 것입니다. 이 코드의 다른 부분은 단순히 똑바로 앞으로 이며 쉽게 파악할 수 있습니다. 아래 소스를 참조하십시오. Direct2DHandler 클래스에 메모리를 할당하고 초기화합니다. OnCreate 함수에서 이 것을 호출할 수 있지만 유효한 Window 핸들이 있는지 확인할 수 있습니다. 스트로크에 대한 대문자, 마이터 제한, 선 조인 및 대시 정보에 대해 설명합니다. 선, 호, 입방 베지어 곡선 및 이차 베지어 곡선을 포함할 수 있는 기하학적 경로를 설명합니다. 이 부분에서는 창 프로시저, 콘텐츠를 그리는 OnRender 메서드 및 창 크기를 조정할 때 렌더 대상의 크기를 조정 하는 OnResize 메서드를 구현 합니다. 다음은 Circle 프로그램의 코드 목록입니다. 프로그램은 응용 프로그램 상태 관리 항목에 정의된 BaseWindow 클래스를 다시 사용합니다.

이후 항목에서는 코드를 자세히 살펴봅니다. 프로젝트 파일은 Visual Studio 2010 형식으로 되어 있지만 기본적으로 Direct2DHandler 클래스만 있으면 됩니다.