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;
            }

  • 相关阅读:
    ASP.NETLinkButton的Click事件中获取CommandArgument的值
    关于绑定了GridView控件后怎么截取字符串和CSS样式来控制表头不换行
    自动生成不重复的含有数字和字母的随机码
    ASP.NET母版页
    C#随机不重复数字字符串2
    asp.net中实现在文本框按下回车键后相当于按下tab键focus跳到下一个文本框
    ASP.NET获取<EmptyDataTemplate></EmptyDataTemplate>模板中的textBox控件值
    C#生成拼音简码
    gridview获取当前行索引的方法大集合
    一、XML
  • 原文地址:https://www.cnblogs.com/harry0914/p/3435936.html
Copyright © 2011-2022 走看看