1. 程式人生 > >C#getPixel和內存法讀取灰度圖信息

C#getPixel和內存法讀取灰度圖信息

max post scan ppa private p s pda unlock bsp

getPixel方法:

        private int getPixels(Bitmap bmpobj)
        {
            int[,] data = new int[1920, 1200];
            int max = 0;
            for (int i = 0; i < bmpobj.Height; i++)
            {
                for (int j = 0; j < bmpobj.Width; j++)
                {
                    Color b 
= bmpobj.GetPixel(j, i); if (max < b.R) { max = b.R; } } } return max; }

內存法:

private int GetImgInfo(Bitmap a)
        {
            Bitmap src = new Bitmap(a);
            
int w = src.Width; int h = src.Height; int max = 0; BitmapData srcData = src.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); unsafe { byte* p = (byte*)srcData.Scan0; int
gray = 0; for (int j = 1; j < h - 1; j++) { for (int i = 1; i < w - 1; i++) { gray = p[0] ;//+= (p[0] + p[1] + p[2]) / 3; p += 4; if (max < gray) { max = gray; } } p += srcData.Stride - w * 4; } src.UnlockBits(srcData); return max ; } }

C#getPixel和內存法讀取灰度圖信息