관리 메뉴

History

[MFC]Alpha 채널을 사용해서 투명한 배경의 Png 이미지 파일 만들기 - Step 1 본문

MFC/개인 실습

[MFC]Alpha 채널을 사용해서 투명한 배경의 Png 이미지 파일 만들기 - Step 1

luckybee 2023. 1. 18. 19:11
728x90
반응형

아래 코드와 같이 CImage 객체에 그림을 그려서 Save 함수를 사용하면 png 형식으로 이미지가 저장된다.

m_draw_image.Save(L"1.png", Gdiplus::ImageFormatPNG);  //이미지 객체에 그려진 png 파일을 저장한다.

나는 아래와 같은 이미지에 사각형을 넣었다. 현재 검은색 바탕은 가상 dc에 색상을 지정하지 않아서 검은색으로 보이는 것이다. 이렇게 되면 어떠한 이미지에 아래 사진을 올려놓으면 검은색 바탕 때문에 뒤의 이미지를 가릴 것이다.

 

이제 이 검은색을 투명화시켜서 사각형만 출력하고 배경은 없애겠다.

 

가상 dc에 그려놓은 사각형 2개

아래 코드는 CImage에 투명화 속성을 활성화시키는 코드이다. 이제 비트 단위로 색상을 분석하여 검은색이면 Alpha 값에 0xFF를 대입하면 배경이 투명화된다.

// Alpha 값을 사용하도록 설정한다.
m_draw_image.SetHasAlphaChannel(1);

결과는 아래와 같다.

검은색 배경을 투명화시킨 이미지

728x90
반응형
Comments