RGB 구성 요소에 RGB 등의 다양한 알파가 포함 된 이미지가 있습니다 (예 : 0xFFFFFF09, RGBA 형식). 그러나 UIImage 나 CGImage API를 사용하여이 이미지를로드 한 다음 CGBitmapContext에 그려 넣으면 RGB 구성 요소가 알파 값으로 설정된 회색 음영이 출력됩니다. 위 예제에서 픽셀이 나옵니다. 0xFFFFFF09 대신 0x09090909. 따라서 투명도가 다양하고 흰색이되어야하는 이미지는 본질적으로 검은 색 투명도로 나타납니다. 로드중인 PNG 파일에는 아무 문제가 없습니다. 다양한 그래픽 프로그램이 모두 올바르게 표시됩니다.내 픽셀 색상을 변경하는 UIImage/CGImage
이것이 내 kCGImageAlphaPremultipliedFirst를 사용하는 것과 관련이 있는지 궁금해했지만 CGBitmapContextCreate가 다른 값으로 실패하기 때문에 실험 할 수 없습니다.
여기서 궁극적 인 목적은 glTexImage2D를 사용하여 텍스처에 업로드 할 수있는 픽셀 데이터를 얻는 것입니다. libPNG를 사용하여 iOS API를 완전히 무시할 수 있지만 다른 제안은 무엇입니까? 많은 감사합니다.
이 질문은 이미 오래된 것입니까? 그렇지 않은 경우 문제를 재현하기 위해 샘플 프로젝트에서 이미지를로드하는 코드를 제공 할 수 있습니까? – Kjellski
제안 해 주셔서 감사합니다. 이 사실을 알 수 없으므로 CGImage API 사용을 중단하고 libpng로 이미지를 직접로드하십시오. – RedMarbleGames