일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 이지스퍼블리싱
- Desktop
- 김성엽
- Tips프로그래밍강좌
- 배열
- c
- Direct2D
- Programming
- doit코틀린프로그래밍
- Win32
- 알고리즘
- Visual Studio
- 연산자
- 티스토리
- c#
- 백준
- 포인터
- 지식나눔강좌
- c++
- CS
- Kotlin
- Windows
- tipssoft
- VS ERROR
- 문법
- 함수
- 리뷰
- 프로그래밍
- Tips강좌
- Javascript
- Yesterday
- Today
- Total
목록WIC (6)
F.R.I.D.A.Y.
이미지를 회전하거나 반전시킬 수 있는 IWICBitmapFlipRotator IWICBitmapFlipRotator 이미지를 회전하거나 반전시킬 수 있는 인터페이스입니다. 단점 먼저 구현 및 시연을 하기 전에 단점을 들자면, 기준에 맞추어 원하는 각도로 변형은 불가능합니다. 애초에 WIC가 Windows Imaging Component의 약자로, 불러오기 및 저장하기가 주된 목적이기 때문입니다. 따라서 만일 90°의 배수로 이미지를 회전시키는 경우가 아니라면 IWICBitmapFlipRotator 객체는 사용할 수 없습니다. 이미지 반전의 경우 상하, 좌우 변형만 가능합니다. 구현 IWICBitmapFlipRotator의 구현은 IWICImagingFactory에서 할 수 있습니다. IWICImaging..
대상 비트맵을 일정 영역 잘라내는 IWICBitmapClipper IWICBitmapClipper 가끔 이미지 작업을 하면 이미지의 일부를 잘라내야하는 작업이 필요합니다. 단적인 예로, 게임에서 움직이는 대상의 움직임을 하나의 이미지 파일로 생성하고, 움직이는 모션을 보일 때는 그 이미지를 필요한 모션을 찾아 잘라 사용하는 방식도 있습니다. 웹에서는 여러 아이콘 파일을 하나의 이미지로 생성하고 필요한 위치에 이미지를 잘라서 로드하는 방식을 이용합니다. 구현 IWICBitmapClipper의 구현은 IWICImagingFactory 객체에서 구현할 수 있습니다. IWICImagingFactory* pWicFactory; IWICBitmapClipper* pClipper; // IWICImagingFacto..
비트맵의 포맷을 변경하는 IWICFormatConverter IWICFormatConverter 비트맵은 꽤 다양한 형식을 가지고 있습니다. 애초에 형식이라는게 비트맵 생성자가 비트맵 형식을 설명해주는 것으로 어떻게 만들던 상관은 없죠.[# 뭐 성능 좋은 형식이라면 금상첨화지만] 그러나 사용자가 요구하는 비트맵 형식이 있기도 합니다. Direct2D가 그 예입니다. Direct2D - WIC를 이용해 이미지 그리기 WIC는 Windows Imaging Component라는 이름을 가진 코덱 프레임워크이다. # 해당 내용은 Direct2D의 기본 구조를 알고 있어야 진행이 원활합니다. # 해당 내용은 다음 포스트를 기반에 두고 있습니다. WIC pang2h.tistory.com 여기에서 잠깐 소개 했지만,..
비트맵 크기를 조절할 수 있는 IWICBitmapScaler IWICBitmapScaler IBitmapSource를 기반으로 구현된 인터페이스로, 대상의 크기를 조절할 때 사용합니다. 사용해야하는 이유 모든 이미지가 출력할 크기와 맞다면 모르겠지만, 많은 경우가 출력할 크기와 실제 파일의 width, height 크기가 다릅니다. 만일 원본에 크기 변형을 가하지 않은 상태로 그리게되면, 상당히 깨진 모습을 볼 수 있습니다. 다음은, 휴대폰에서 낼 수 있는 최대 화소인 1억 800만 카메라로 촬영한 이미지를 윈도우 전체에 출력한 모습입니다. 우측의 이미지는 Windows10에 내장된 사진 앱으로 파일을 열었을 때입니다. 사진 앱으로 열었을 때는 부드럽게 표현되는 이미지가 프로그램에서 열었을 때는 일부 깨..
WIC는 Windows Imaging Component라는 이름을 가진 코덱 프레임워크이다. # 해당 내용은 Direct2D의 기본 구조를 알고 있어야 진행이 원활합니다. # 해당 내용은 다음 포스트를 기반에 두고 있습니다. WIC WIC는 COM[# Component Object Model] 객체로서, 이를 이용하려면 사용하려는 프로그램[# 정확히는 프로세스]에서 COM 객체의 메서드와 같은 요소에 접근하는 것을 허용하도록 해야합니다. 애플리케이션의 시작에서 CoInitialize 함수를 호출합니다. 코드에서는 WinMain의 코드가 되겠네요. HRESULT hr = CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); if (!win.Create(L"Win32 W..
Windows Imaging Component라고 해서 WIC라는 COM 요소가 있다. Windows Vista부터 나온 코덱 관리 프레임워크인데 이 녀석을 사용하면 여러가지 포맷을 하나의 메서드로 이용할 수가 있어서 개발할 때 편할 것 같다. WIC WIC는 COM[# Component Object Model]으로서 사용하려면 WIC를 사용하고 있는 스레드에서 COM 객체의 요소에 접근할 수 있도록 설정해주어야 한다. CoInitialize 그래서 있는게 이 CoInitialize 함수이다. msdn에는 이 함수보다 CoInitializeEx 함수를 이용한 것을 권장하고 있다. 간단히 설명하면 이 함수를 통해서 COM 객체 안의 명령을 COM을 이용하고자 하는 위치에서 접근할 수 있도록 해주는 기능을 ..