zoukankan      html  css  js  c++  java
  • 高效取图片像素的方法

     public static short搜索[][] GetPixs(Bitmap bitmap)
            {
                int height = bitmap.Height;
                int width = bitmap.Width;
                byte tempB, tempG, tempR;
                short[][] spOriginData = new short[height][];
                for (int i = 0; i < height; i++)
                {
                    spOriginData[i] = new short[width];
                }

                BitmapData dataOut = bitmap.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
                int offset = dataOut.Stride - dataOut.Width * 3;
                try
                {
                    unsafe
                    {
                        byte* pOut = (byte*)(dataOut.Scan0.ToPointer());

                        for (int y = 0; y < height; y++)
                        {
                            for (int x = 0; x < width; x++)
                            {
                                tempB = pOut[0];
                                tempG = pOut[1];
                                tempR = pOut[2];
                                double data=0.31 * tempR + 0.59 * tempG + 0.11 * tempB;
                                if (data > 255)
                                    spOriginData[y][x] = 255;
                                else
                                    if (data < 0)
                                        spOriginData[y][x] = 0;
                                    else
                                        spOriginData[y][x] = (short)data;
                                pOut += 3;
                            }
                            pOut += offset;
                        }
                        bitmap.UnlockBits(dataOut);
                    }
                }
                catch
                {
                }
                return spOriginData;
            }

  • 相关阅读:
    [转载]服务器管理模块forever——Nodejs中间件系列
    [转载]NodeJS的异步编程风格
    break和continue的区别?
    JavaScript中遍历数组的方法
    行盒
    雪碧图
    将一个块级元素水平和垂直居中的方法
    Linux使用rdesktop连接Windows桌面
    git常用操作
    TiddlyWiki搭建个人博客
  • 原文地址:https://www.cnblogs.com/harry0914/p/3435936.html
Copyright © 2011-2022 走看看