.Net 利用 BitmapData 檢查圖片是否為空白 .Net 利用 BitmapData 檢查圖片是否為空白
  .NET       ez      2012-08-23

本篇利用 BitmapData 檢查圖片是否為空白!

※定義:全黑或全白就算是空白。

//檢查圖片是否擷取成功
bool NotNULL = false;
using (Bitmap b = (Bitmap)Bitmap.FromFile(ScreenshotRoute))
{
    BitmapData bData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    unsafe
    {
        byte* p = (byte*)bData.Scan0.ToPointer();
        for (int y = 0; y < b.Height; y++)
        {
            for (int x = 0; x < b.Width; x++)
            {
                if ((p[0] != 255 && p[0] != 0) || (p[1] != 255 && p[1] != 0) || (p[2] != 255 && p[2] != 0))
                {
                    NotNULL = true;
                    break;
                }
                p += 3;
            }
            if (NotNULL) break;
        }
        b.UnlockBits(bData);
    }
}
Console.WriteLine(NotNULL ? "不是空白" : "空白");


標籤:   .NET

我要留言