32BPP PNG显示在旧视频驱动程序中时会发生什么(ony 256色)

时间:2012-02-05 15:09:12

标签: c# bitmap png gdi+

我想知道.Net,如果32BPP真彩色PNG显示在旧显示卡上怎么办?我相信PNG文件中没有调色板。

任何人都知道这种情况背后的内部逻辑吗?

1 个答案:

答案 0 :(得分:6)

Winforms在paint消息处理程序中调用RealizePalette()来选择默认的Windows半色调调色板,即Graphics.GetHalftonePalette()返回的调色板。它使用的代码与MSDN文章中显示的示例非常相似。在绘制时,位图中的像素被映射到实际实现的调色板中的256种颜色之一。视觉效果当然不如恒星,256色模式在博物馆中一站式通过软盘驱动器。