저는 GDI + DrawImage를 사용하여 CImage 객체에 비트 맵을 그리려합니다. 결과로 생성 된 CImage 비트 맵은 알파에 의해 미리 곱셈 된 것으로 보이지만 msdn 설명서에서 그 부분에 대한 언급은 찾을 수 없습니다.gdi +를 사용하여 hdc를 그리면 알파 비트 맵이 미리 곱셈됩니까?
CImage HDC를 통해 DrawImage를 사용하여 그릴 때 어떻게됩니까?
저는 GDI + DrawImage를 사용하여 CImage 객체에 비트 맵을 그리려합니다. 결과로 생성 된 CImage 비트 맵은 알파에 의해 미리 곱셈 된 것으로 보이지만 msdn 설명서에서 그 부분에 대한 언급은 찾을 수 없습니다.gdi +를 사용하여 hdc를 그리면 알파 비트 맵이 미리 곱셈됩니까?
CImage HDC를 통해 DrawImage를 사용하여 그릴 때 어떻게됩니까?
예, AlphaBlend 함수가 미리 곱한 알파를 예상하므로 결과에 미리 곱 해집니다. - 비트 맵은 알파 채널 (즉, 픽셀 단위의 α,이다) 때이 플래그가 세트되어
AC_SRC_ALPHA : 이것은 문서 AlphaFormat
BLENDFUNCTION
구조 부재에 유의한다. API는 미리 곱한 알파를 사용합니다. 즉, 비트 맵의 빨강, 녹색 및 파랑 채널 값에 알파 채널 값이 미리 곱해 져야합니다. 예를 들어 알파 채널 값이 x 인 경우 빨강, 녹색 및 파랑 채널에 x를 곱한 다음 호출하기 전에 0xff로 나눠야합니다.
참조 : http://msdn.microsoft.com/en-us/library/dd183393(v=vs.85).aspx