2013-03-23 104 views
0

我有要求验证具有高度属性的文件夹中的大量图像(jpg,tif,png)。但彩色图像和灰度图像的验证规则不同。如何识别图像是灰度图像或彩色图像在c#

但我的问题是

如何识别图像是在C#灰度图像还是彩色图像?

至少从哪里开始?

+0

我相信图像或位图类包含一个ImageFormat属性,指定每像素位。尽管如此,这还不够。您可能需要扫描每个像素,并确保r == g == b – 2013-03-23 05:31:39

+0

能否请您为我提供如此宁静的代码 – Civa 2013-03-23 06:08:39

+0

否。网上有很多例子展示了这个概念。 – 2013-03-23 07:15:59

回答

2
bool IsGreyScale(Bitmap YourCurrentBitmap) 
{ 
Color c; 
for(int i=0; i < YourCurrentBitmap.Width; i++) 
    for(int j=0; j < YourCurrentBitmap.Height; j++) 
      { 
       c = YourCurrentBitmap.GetPixel(i,j); 
       if(!(c.R == c.G == c.B)) return false; 
      } 
return true; 
} 

但是这种方法虽然比较慢。

+1

感谢您的回答:) – Civa 2013-03-23 09:07:48