原因:
当图片类型为PNG8时候,RGB的表示位数为3,3,2.所以能表示的颜色种类只有256种,所以当遇到无法表示的颜色时,就会选取相似度最近的颜色来表示,所以就会出现与实际图片颜色不相符的情况。
改法:
用PNG24去表示颜色位。不用PNG32是因为alpha通道不需要压缩,teigha库提供了修改的方法。如下代码所示:
OdRxDictionaryPtr properties = m_device->properties();
properties->putAt(OD_T("BitPerPixel")