전체 글
-
[Direct2D] ID2D1Effect : Chroma keyC++/미분류 2024. 4. 22. 15:41
크로마 키(Chroma key)는 화면 합성 등의 편집을 목적으로 한 단색 배경, 혹은 그 기술을 의미합니다. D2D는 이와 유사하게 이미지의 특정 색을 투명하게 바꾸는 효과를 제공합니다. 이번 글은 해당 효과를 이용하여, 이전 글의 검은 배경을 투명하게 편집해보도록 하겠습니다. 이번 글의 코드는 지난 글에서 이어집니다. [Direct2D] ID2D1Effect : Edge detection Chroma-key effect - Win32 apps | Microsoft Learn 또한, 위 MSDN에 기반하여 작성되었습니다. 1. Effect 생성 및 초기화 더보기 D2D Effect는 Device context에 의해 초기화되며, 이 때 적용활 효과에 대한 ID를 사용합니다. 크로마 키는 다음과 같이 초..
-
[Direct2D] ID2D1Effect : Edge detectionC++/미분류 2024. 4. 17. 11:09
D2D Effect는 이미지의 가장자리를 탐색하고, 그 위치에 선을 그리는 기능을 제공합니다. 이번 글에서는 해당 기능을 이용하여 이미지의 가장자리를 탐색해보도록 하겠습니다. 이번 글의 출력 결과는 지난 글의 코드에서 이어집니다. [Direct2D] ID2D1Effect 사용하기 [Direct2D] ID2D1Effect : Color matrix Edge-detection effect - Win32 apps | Microsoft Learn 또한, 위 MSDN에 기반하여 작성되었습니다. 1. Effect 생성 및 초기화 더보기 D2D Effect는 Device context에 의해 초기화되며, 이 때 적용활 효과에 대한 ID를 사용합니다. Edge detection은 다음과 같이 초기화 할 수 있습니다. ..
-
[Direct2D] ID2D1Effect : Color matrixC++/미분류 2024. 4. 12. 15:46
지난 글에서 D2D Effect와, 해당 객체를 사용해서 이미지에 아핀 변환을 수행하는 방법을 알아보았습니다. [Direct2D] ID2D1Effect 사용하기 [Direct2D] ID2D1Effect : Affine transformation 이번 글에서는 이미지의 색을 바꾸는 색조 행렬 변환에 대해 알아보도록 하겠습니다. 이번 글은 지난 글에서 코드가 이어집니다. [Direct2D] ID2D1Effect : Affine transformation Color matrix effect - Win32 apps | Microsoft Learn 또한, 위 MSDN에 기반하여 작성되었습니다. 1. Effect 생성 및 초기화 더보기 D2D Effect는 Device context에 의해 초기화되며, 이 때 적용..
-
[Direct2D] ID2D1Effect : Affine transformationC++/미분류 2024. 4. 9. 17:18
지난 글에서 D2D Effect에 대해 알아보았습니다. [Direct2D] ID2D1Effect 사용하기 이번 글에서는 D2D Efffect가 제공하는 기본 효과들 중, 아핀 변환 (Affine transformation)에 대해 알아보도록 하겠습니다. 이번 글은 지난 글에서 코드가 이어집니다. [Direct2D] Device context 사용하기 (ID2D1DeviceContext 2D affine transform effect - Win32 apps | Microsoft Learn 또한, 위 MSDN에 기반하여 작성되었습니다. 1. Effect 생성 / 초기화 더보기 D2D Effect는 Device context에 의해 초기화되며, 이 때 적용활 효과에 대한 ID를 사용합니다. 아핀 변환은 다음과..
-
[Direct2D] ID2D1Effect 사용하기C++/미분류 2024. 4. 5. 15:15
이전 글에서, Render target을 Device context로 변경해보았습니다. Device context 사용하기 (ID2D1DeviceContext) 이전 글에서 소개한 Device context를 사용했을 때의 장점으로 D2D Effect객체를 이용할 수 있다는 점이 있었습니다. D2D Effect객체는 이미지를 여러 방법으로 처리할 수 있는 객체입니다. 이번 글에서는 D2D Effect객체를 생성하고, 출력하는 등의 기본적인 구성에 대해 알아보도록 하겠습니다. 0. 제공되는 효과 더보기 D2D Effect를 통해 적용할 수 있는 효과 중 일부는 다음과 같습니다 색조 변경 (톤 변경, RGB 변환 등) 흐림 효과 (가우시안 블러 등) 변환 (아핀 변환, 자르기, 회전 등) 크로마 키 이는 제..
-
[Direct2D] Device context 사용하기 (ID2D1DeviceContext)C++/미분류 2024. 3. 29. 17:40
이전 글 까지 Direct2D의 렌더링에 Render target을 사용했습니다. [Direct2D] 비트맵 이미지 그리기 정확히는 ID2D1HwndRenderTarget객체를 사용했습니다. 이 객체는 ID2D1RenderTarget의 하위 객체입니다. Microsoft는 Windows8발매 이후, 새 렌더링 API를 소개했습니다. How to render by using a Direct2D device context - Win32 apps | Microsoft Learn 제목에도 있는 Device Context가 그것으로, 이 객체도 ID2D1RenderTarget의 하위 객체입니다. Micorosoft는 Device context를 사용하면 얻을 수 있는 이점을 다음과 같이 소개하고 있습니다. Win..
-
[DirectX] 스마트 포인터 ComPtrC++/미분류 2024. 3. 21. 16:20
스마트 포인터는 포인터를 래핑하여, 자원의 누수를 최소화 하는 것에 목적을 둔 객체입니다.C++에서 기본적으로 제공하는 스마트 포인터에 관한 글은 아래의 다른 글을 참조해주세요.[Effective Modern C++] Smart pointer : std::unique_ptr [Effective Modern C++] Smart pointer : std::shared_ptr [Effective Modern C++] Smart pointer : std::weak_ptr [Effective Modern C++] Smart pointer : std::make_unique, std::make_sharedDirectX의 COM객체들은 위 스마트 포인터가 아닌, COM 인터페이스를 위한 스마트 포인터를 사용할 수 있습..
-
[Direct2D] 비트맵 이미지 움직이기 (2)C++/미분류 2024. 3. 13. 14:59
지지난글에서 DirectX와 WIP로 이미지를 출력하는 방법을 알아보았습니다. [Direct2D] 비트맵 이미지 그리기 [Direct2D] 움직이는 비트맵 이미지 그리기 그리고 지난 글에서, 출력한 이미지의 위치값을 변화시켜 움직이는 방법을 알아보았습니다. [Direct2D] 비트맵 이미지 움직이기 (1) 이번 글에서는 특정 값이 아닌, 사용자의 입력(이번 글에서는 방향키)으로 이미지를 움직여보도록 하겠습니다. 이번 글의 코드는 지난 글에서 일부 이어집니다. 0. MyBitmap 기능 추가 (이미지 크기 조정) 더보기 이번 글에서 사용될 이미지가 윈도우 사이즈에 비해 큰 관계로, MyBitmap에 이미지 크기를 조정하는 기능을 추가하도록 하겠습니다. class MyBitmap { public: void ..