PARGB32 비트 맵을 만들려고합니다. 이것은 XP 이후의 메뉴 항목으로 완전히 작동하는 이미지를 생성하는 데 필요합니다.WIC '픽셀 복사'호출 후 사전 곱하기 전화
이 예제는 http://msdn.microsoft.com/en-us/library/bb757020.aspx?s=6 매우 흥미롭지 만 이전에는 OLE 인터페이스를 사용했던 적이 거의 없었습니다. 그러나 WIC와 OLE를 사용하는 코드 조각을 신중하게 연구 한 후에 어떻게 작동하는지 이해할 수있을 것입니다. 나를 혼란스럽게하는 것은 'David Hellerman'이라는 사용자의 의견입니다. 요약하면, 그는이 예제 함수가 완전하지 않다고 말합니다. 소스 아이콘에서 잠재적 인 알파 정보를 고려하지 않으며 알파 데이터가있는 경우 ppvBuffer 변수를 스캔하면서 픽셀 단위로 미리 곱해야합니다.
제 질문은 두 부분으로 구성되어 있습니다. GDI 대신 WIC를 사용하는 동안 아이콘의 알파 데이터 존재를 어떻게 감지합니까? 픽셀이있을 경우 픽셀에 사전 곱셈을 적용하려면 어떻게해야합니까?
훌륭한 답변으로 @ Vincent와이 COM 물건 사용에 대한 새로운 아이디어를 제공합니다. 완전히 새로운 것입니다! 게다가 나는 WIC 코드가 잘못되었다고 말하는 MSN 페이지의 갈라진 틈이 실제로 잘못되었다고 생각합니다! 만약 그가 페이지를 더 읽었다면'Initialize' 멤버 함수가 작동 예제에서 사용되는 것을 보았을 것입니다. 이것은 당신이'IWICConvertBitmapSource' 함수를 통해 제안한 것과 같은 일을합니다. 내가 맞습니까? –
허, 그들이 코드를 두 번 작성한 것처럼 보이고 두 번째로 (AddIconToMenuItem에서) 코드가 더 가깝습니다. (질문에 대답 할 때 보았던 모든 것) 잘못된 것입니다. 예, 그들은 제가 제안한 바를 정확히했습니다. –