는 :.NET 프레임 워크 및 GIF 투명성은 윈도우 7 (그리고 새로운 이미지 코덱 : WIC) 이전
MemoryStream target = new memoryStream(4096);
image.Save(target, imageFormat.Gif);
byte[] data = target.ToArray();
// Set transparency
// Check Graphic Control Extension signature (0x21 0xF9)
if (data[0x30D] == 0x21 && data[0x30E] == 0xF9)
data[0x313] = 0xFF; // Set palette index 255 (=white) as transparent
나는 투명 색상으로 흰색과 지프 인코딩 된 이미지를 만들려면 다음 (매우 빠르지 만 더러운) 방법을 사용
.NET이 인덱스 255가 흰색 인 표준 팔레트로 Gif를 인코딩하는 데 사용 되었기 때문에이 방법이 효과적이었습니다.
그러나 Windows 7에서는이 방법이 더 이상 작동하지 않습니다. 표준 팔레트가 바뀌었고 인덱스 251이 흰색 인 것으로 보입니다. 그러나 나는 확실하지 않다. 새로운 Gif 인코더가 사용 된 색상을 기반으로 팔레트를 동적으로 생성하고 있습니까?
내 질문 : 누구나 Windows 7의 새로운 Gif 인코더에 대한 통찰력을 갖고 있으며 색을 투명하게 만드는 빠르고 좋은 방법은 무엇입니까?
답장을 보내 주셔서 감사합니다. 실제로 Windows 7 Gif 인코더에는 아무런 문제가 없습니다. 오직, 이전 인코더와 다르게 동작합니다 : 다른 (그러나 정확한) 팔레트를 생성합니다. 이 팔레트가 변경 되었기 때문에 코드가 더 이상 작동하지 않습니다. 나는 색인이 투명 색상으로이 색인을 설정할 수 있도록 색상 표 팔레트에서 무엇인지 감지하는 빠른 방법이 있는지 궁금합니다. – Corne