что произойдет, когда 32BPP PNG отобразится в старом видеодрайвере (только 256 цветов) - PullRequest
0 голосов
/ 05 февраля 2012

Мне интересно в .Net, что, если на старой видеокарте отображается PNG с 32BPP-цветом?Я считаю, что внутри PNG-файла нет палитры.

Кто-нибудь знает внутреннюю логику этого сценария?

1 Ответ

6 голосов
/ 05 февраля 2012

Winforms вызывает RealizePalette () в обработчике сообщений рисования, чтобы выбрать полутоновую палитру Windows по умолчанию, возвращаемую Graphics.GetHalftonePalette () .Код, который он использует, очень похож на пример, показанный в той статье MSDN.Пиксели в растровом изображении отображаются на один из 256 цветов в реальной реализованной палитре, когда она рисуется.Визуальный результат, конечно, менее чем звездный, режим 256 цветов находится в музее в одной остановке за дисководом гибких дисков.

...