zoukankan      html  css  js  c++  java
  • C#读取图片像素

    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;
    }
  • 相关阅读:
    linq.js
    ES6入门
    Visual Studio Code之常备快捷键
    JavaScript——数组
    谈程序员的出路
    优秀博文
    多媒体封装格式详解---MP4
    音视频文件分析工具
    offsetof(s,m)解析
    GCC 提供的原子操作
  • 原文地址:https://www.cnblogs.com/josechuanmin/p/3149259.html
Copyright © 2011-2022 走看看