国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現把彩色圖片灰度化代碼分享

2020-01-24 02:31:53
字體:
來源:轉載
供稿:網友

彩色圖片轉為灰度圖的公式如下:

復制代碼 代碼如下:

gray(i,j) = 0.299 * Red(i,j)+0.587*Green(i,j)+0.114*Blue(i,j)

其中gray(i,j) 為轉化后的灰度值  (i,j)為像素點的位置。

源代碼如下:

public static Bitmap ChangeGray(Bitmap b)  {   BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite,    PixelFormat.Format24bppRgb);   int stride = bmData.Stride;   // 掃描的寬度       unsafe   {    byte* p = (byte*)bmData.Scan0.ToPointer(); // 獲取圖像首地址    int nOffset = stride - b.Width * 3;  // 實際寬度與系統寬度的距離    byte red, green, blue;    for (int y = 0; y < b.Height; ++y)    {     for (int x = 0; x < b.Width; ++x)     {      blue = p[0];      green = p[1];      red = p[2];        p[0] = p[1] = p[2] = (byte)(.299 * red + .587 * green + .114 * blue); // 轉換公式      p += 3;  // 跳過3個字節處理下個像素點     }     p += nOffset; // 加上間隔    }   }   b.UnlockBits(bmData); // 解鎖   return b;  } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿拉善左旗| 南木林县| 汝南县| 永平县| 崇阳县| 巴中市| 梁河县| 邹城市| 宁国市| 海宁市| 东乡县| 合江县| 墨竹工卡县| 静乐县| 仙游县| 观塘区| 瑞金市| 图片| 桂林市| 边坝县| 沭阳县| 永善县| 钦州市| 新巴尔虎左旗| 阳城县| 陕西省| 临泉县| 吉木萨尔县| 秦皇岛市| 平昌县| 资中县| 井冈山市| 宾阳县| 凌源市| 运城市| 北京市| 梧州市| 北辰区| 绍兴市| 靖江市| 齐河县|