如何判断PNG图片是8位深度

来源:百度知道 编辑:UC知道 时间:2024/05/20 10:33:07
小弟第一次做处理图片PNG的程序。
经理要求把图片的位深度都转换成8位的。
现在我遇到个问题就是如果这个文件夹里有8位深度 24位深度图片的话
就会破坏8位深度,而24位的能够转换成功运行OK
我想先判断下图片是不是8位的然后再进行转换。。这样就不会破坏8位深度的图片了!
具体图片转换我是在网上找到一个Delphi的dll库。我只需调用一个方法就行实现转换。。
还有就是怎么把这个dll库转换成C#代码
我是想用程序判断图片是不是8位的,
不是看图片属性。。!

判断下图片是不是8位的,右击PNG图片,属性、摘要,当中有“位深度”。

dll库转换成C#代码,引入DLL使用还可以,真的反编译获得代码没那么容易。
引用dll:
[DllImport("xxx.dll")]
public static 返回值 方法名(参数1,参数2,……)

将图片以文件流形式读进内存,再根据PNG的编码规格找到表示色深的byte值判断,不过我手头没有PNG的编码规格,你自己上网搜下吧。
Stream sm=new MemoryStream(filePath);

sm.read(**,**);//读具体表示色深的byte值
//判断byte值

只是给你提供一个方向,呵呵