C#圖像對(duì)比度調(diào)整的方法
本文實(shí)例講述了C#圖像對(duì)比度調(diào)整的方法。分享給大家供大家參考。具體如下:
//定義對(duì)比度調(diào)整函數(shù) private static Bitmap ContrastP(Bitmap a, double v) { System.Drawing.Imaging.BitmapData bmpData = a.LockBits(new Rectangle(0, 0, a.Width, a.Height), System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format24bppRgb); int bytes = a.Width * a.Height * 3; IntPtr ptr = bmpData.Scan0; int stride = bmpData.Stride; unsafe { byte* p = (byte*)ptr; int temp; for (int j = 0; j < a.Height; j++) { for (int i = 0; i < a.Width * 3; i++) { temp = (int)((p[0] - 127) * v + 127); temp = (temp > 255) ? 255 : temp < 0 ? 0 : temp; p[0] = (byte)temp; p++; } p += stride - a.Width * 3; } } a.UnlockBits(bmpData); return a; }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C# 獲取打印機(jī)當(dāng)前狀態(tài)的方法
C# 獲取打印機(jī)當(dāng)前狀態(tài)的方法,需要的朋友可以參考一下2013-04-04C#創(chuàng)建、部署、調(diào)用WebService圖文實(shí)例詳解
本文主要用詳細(xì)的圖文給大家介紹C#創(chuàng)建、部署、調(diào)用WebService的全部過程以及中間需要避免的問題。2017-11-11Qt之調(diào)用C#的動(dòng)態(tài)庫的解決方法
這篇文章給大家介紹了Qt之調(diào)用C#的動(dòng)態(tài)庫的解決方法,環(huán)境使用的是VS2019+Qt5.12,感興趣的朋友一起看看吧2021-10-10WPF實(shí)現(xiàn)自定義Panel面板的示例詳解
WPF中的Panel(面板),是繼承自FrameworkElement的抽象類,表示一個(gè)可以用來排列子元素的面板,本文主要來和大家聊聊WPF如何實(shí)現(xiàn)自定義Panel,感興趣的可以了解下2023-09-09C#使用TimeSpan對(duì)象實(shí)現(xiàn)獲取時(shí)間間隔
TimeSpan對(duì)象代表兩個(gè)時(shí)間段的間隔或跨度,使用TimeSpan對(duì)象可以方便地獲取兩個(gè)時(shí)間段的間隔,下面我們就來看看C#使用TimeSpan對(duì)象實(shí)現(xiàn)獲取時(shí)間間隔的具體操作吧2024-01-01C#使用opencv截取旋轉(zhuǎn)矩形區(qū)域圖像的實(shí)現(xiàn)示例
這篇文章主要介紹了C#使用opencv截取旋轉(zhuǎn)矩形區(qū)域圖像,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03