源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

读取图片像素的具体实例

  • 时间:2021-06-24 04:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:读取图片像素的具体实例
[u]复制代码[/u] 代码如下:
   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;         }                
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部