欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#圖像偽彩色處理方法

 更新時間:2015年04月24日 11:17:45   作者:滄海一粟……  
這篇文章主要介紹了C#圖像偽彩色處理方法,涉及C#操作圖像的偽彩色相關技巧,需要的朋友可以參考下

本文實例講述了C#圖像偽彩色處理方法。分享給大家供大家參考。具體如下:

//灰度圖轉偽彩色圖像函數
public Bitmap PGrayToColor(Bitmap src)
{
  try
  {
   Bitmap a = new Bitmap(src);
   Rectangle rect = new Rectangle(0, 0, a.Width, a.Height);
   System.Drawing.Imaging.BitmapData bmpData = a.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
   int stride = bmpData.Stride;
   unsafe
   {
     byte* pIn = (byte*)bmpData.Scan0.ToPointer();
     byte* P;
     int R, G, B;
     int temp = 0;
     for (int y = 0; y < a.Height; y++)
     {
     for (int x = 0; x < a.Width; x++)
     {
       P = pIn;
       B = P[0];
       G = P[1];
       R = P[2];
       temp = (byte)(B * 0.114 + G * 0.587 + R * 0.299);
       if (temp >= 0 && temp <= 63)
       {
        P[2] = 0;
        P[1] = (byte)(254 - 4 * temp);
        P[0] = (byte)255;
       }
       if (temp >= 64 && temp <= 127)
       {
        P[2] = 0;
        P[1] = (byte)(4 * temp - 254);
        P[0] = (byte)(510 - 4 * temp);
       }
       if (temp >= 128 && temp <= 191)
       {
        P[2] = (byte)(4 * temp - 510);
        P[1] = (byte)(255);
        P[0] = (byte)0;
       }
       if (temp >= 192 && temp <= 255)
       {
        P[2] = (byte)255;
        P[1] = (byte)(1022 - 4 * temp);
        P[0] = (byte)0;
       }
       pIn += 3;
     }
     pIn += stride - a.Width * 3;
     }
   }
   a.UnlockBits(bmpData);
   return a;
  }
  catch (Exception e)
  {
   MessageBox.Show(e.Message.ToString());
   return null;
  }
}

原圖:

效果圖:

反色圖:

希望本文所述對大家的C#程序設計有所幫助。

相關文章

  • C#圖片按比例縮放的實現代碼

    C#圖片按比例縮放的實現代碼

    這篇文章主要介紹了C#圖片按比例縮放的實現代碼,有需要的朋友可以參考一下
    2014-01-01
  • C#中的協(xié)變與逆變小結

    C#中的協(xié)變與逆變小結

    這篇文章主要介紹了C#中的協(xié)變與逆變的相關知識,在泛型或委托中,如果不使用協(xié)變或逆變,那么泛型類型是一個固定類型,而使用協(xié)變或逆變的話,則泛型類型可以實現多態(tài)化,需要的朋友可以參考下
    2021-10-10
  • c#數據的序列化和反序列化(推薦版)

    c#數據的序列化和反序列化(推薦版)

    今天項目中用到了數據的序列化和反序列化,數據用的是EF自動生成的代碼
    2011-09-09
  • C#獲取web.config配置文件內容的方法

    C#獲取web.config配置文件內容的方法

    這篇文章主要介紹了C#獲取web.config配置文件內容的方法,涉及C#配置文件屬性獲取的相關技巧,需要的朋友可以參考下
    2015-05-05
  • c#項目實現發(fā)布到服務器全過程

    c#項目實現發(fā)布到服務器全過程

    這篇文章主要介紹了c#項目實現發(fā)布到服務器全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • C# 裝箱和拆箱的知識回顧

    C# 裝箱和拆箱的知識回顧

    本篇文章主要介紹了C#的裝箱和拆箱的知識點回顧,對大家的學習和復習具有很好的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • Unity3D實現旋鈕控制燈光效果

    Unity3D實現旋鈕控制燈光效果

    這篇文章主要為大家詳細介紹了Unity3D實現旋鈕控制燈光效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • c#調用api控制windows關機示例(可以重啟/注銷)

    c#調用api控制windows關機示例(可以重啟/注銷)

    本文介紹了c#控制windows關機、重啟、注銷的二種方法,分為調用windows自帶的shutdown.exe關機和調用API關機的方法
    2014-01-01
  • C#使用Dynamic實現簡化反射

    C#使用Dynamic實現簡化反射

    這篇文章主要為大家詳細介紹了C#如何使用Dynamic來實現簡化反射,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-07-07
  • 詳解c# AutoMapper 使用方式

    詳解c# AutoMapper 使用方式

    本篇文章主要介紹了詳解c# AutoMapper 使用方式 ,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12

最新評論