码迷,mamicode.com
首页 > 其他好文 > 详细

bitmap的图像像素遍历方法

时间:2015-12-25 17:12:21      阅读:756      评论:0      收藏:0      [点我收藏+]

标签:

public class FastBitmap
{
    BitmapData bitmapData;
    public FastBitmap(Bitmap bitmap)
    {
        this.bitmapData=bitmap.LockBits(new Rectangle(0,0,bitmap.Width,bitmap.Height), System.Drawing.Imaging.ImageLockMode.ReadWrite, bitmap.PixelFormat);
    }
    public unsafe Color GetPixel(int x,int y)
    {
        if (bitmapData.PixelFormat == PixelFormat.Format32bppRgb || bitmapData.PixelFormat == PixelFormat.Format32bppArgb)
        {
            byte* numPtr = (byte*)((int)bitmapData.Scan0 + y * bitmapData.Stride + x * 4);
            return Color.FromArgb(numPtr[3],numPtr[2], numPtr[1],numPtr[0]);
        }
        if (bitmapData.PixelFormat == PixelFormat.Format24bppRgb)
        {
            byte* numPtr2 = (byte*)((int)bitmapData.Scan0 + y * bitmapData.Stride + x * 3);
            return Color.FromArgb(numPtr2[2], numPtr2[1], numPtr2[0]);
        }
        return Color.Empty;
    }
}

 

bitmap的图像像素遍历方法

标签:

原文地址:http://www.cnblogs.com/zhayunjia/p/5076048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!