使用asp.net改變網(wǎng)頁(yè)上圖片顏色比如灰色變彩色
最近奇葩經(jīng)理提出了奇葩的需求,要能在網(wǎng)站上改變圖片的顏色,比如灰色的變成彩色,彩色的變成灰色,尼瑪樓主的感受你們不懂!于是有了下面的代碼。。。
用法:調(diào)用update_pixelColor方法并傳參數(shù)即可
#region 改變圖片顏色
/// <summary>
/// 改變圖片的顏色
/// </summary>
/// <param name="filePath">圖片的完整路徑</param>
/// <param name="colorIndex">改變的顏色,true為灰色,false為彩色</param>
public void update_pixelColor(string filePath, bool colorIndex)
{
Bitmap bmp = new Bitmap(Bitmap.FromFile(filePath));
int value = 0;
for (int i = 0; i < bmp.Height; i++)
{
for (int j = 0; j < bmp.Width; j++)
{
if (colorIndex)
value = this.GetGrayNumColor(bmp.GetPixel(j, i));
else
value = this.GetHongNumColor(bmp.GetPixel(j, i));
bmp.SetPixel(j, i, Color.FromArgb(value, value, value));
}
}
bmp.Save(filePath);
}
/// <summary>
/// 獲取彩色單點(diǎn)像素
/// </summary>
/// <param name="posClr">單點(diǎn)像素</param>
/// <returns>int</returns>
private int GetHongNumColor(Color posClr)
{
return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
}
/// <summary>
/// 獲取灰色單點(diǎn)像素
/// </summary>
/// <param name="posClr">單點(diǎn)像素</param>
/// <returns>Color</returns>
private int GetGrayNumColor(Color posClr)
{
//要改變ARGB
return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
}
#endregion 改變圖片顏色
- Asp.net FileUpload+Image制作頭像效果示例代碼
- asp.net顯示圖片到指定的Image控件中 具體實(shí)現(xiàn)
- asp.net驗(yàn)證碼圖片生成示例
- ASP.NET實(shí)現(xiàn)圖片以二進(jìn)制的形式存入數(shù)據(jù)庫(kù)
- 使用asp.net改變圖片顏色如灰色的變成彩色
- Asp.net簡(jiǎn)單實(shí)現(xiàn)給圖片增加文字水印
- ASP.NET簡(jiǎn)單好用功能齊全圖片上傳工具類(水印、縮略圖、裁剪等)
- ASP.NET中圖片顯示方法實(shí)例
- Asp.Net上傳圖片同時(shí)生成高清晰縮略圖
- asp.net文件上傳解決方案(圖片上傳、單文件上傳、多文件上傳、檢查文件類型)
- ASP.NET圖片處理三類經(jīng)典問(wèn)題
- asp.net fileupload控件上傳圖片并預(yù)覽圖片
- ASP.NET圖片上傳實(shí)例(附源碼)
- ASP.NET實(shí)現(xiàn)上傳圖片并生成縮略圖的方法
- asp.net實(shí)現(xiàn)圖片以二進(jìn)制流輸出的兩種方法
- ASP.NET中Image控件使用詳解
相關(guān)文章
通用?HTTP?簽名組件的另類實(shí)現(xiàn)方式
這篇文章主要介紹了通用?HTTP?簽名組件的另類實(shí)現(xiàn)方式,實(shí)現(xiàn)思路大概是采用鏈?zhǔn)秸{(diào)用的方式,使得簽名的步驟可以動(dòng)態(tài)拼湊組合,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
asp.net如何將DataSet轉(zhuǎn)換成josn并輸出
將DataSet轉(zhuǎn)換成josn并輸出,如果解析有問(wèn)題可以把代碼中的"用"替換,需要的朋友可以參考下2014-08-08
asp.net中簡(jiǎn)體轉(zhuǎn)繁體實(shí)現(xiàn)代碼
最近到了臺(tái)企,什么都要用繁體的。開(kāi)發(fā)中也遇到了簡(jiǎn)繁體轉(zhuǎn)換的問(wèn)題。這里和朋友們分享一下用.net實(shí)現(xiàn)簡(jiǎn)繁體轉(zhuǎn)換的經(jīng)驗(yàn)。2010-03-03
利用.net core實(shí)現(xiàn)反向代理中間件的方法
這篇文章主要給大家介紹了關(guān)于利用.net core實(shí)現(xiàn)反向代理中間件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.net core具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
asp.net DataGrid 中文字符排序的實(shí)現(xiàn)代碼
在論壇上看到有位朋友希望對(duì)中文按拼音進(jìn)行排序,剛好最近有點(diǎn)空,貼一份原來(lái)一個(gè)同事寫(xiě)的一個(gè)排序類,僅稍微改動(dòng)了下下,拿出來(lái)分享下.2009-09-09
asp.net 頁(yè)面之間傳遞參數(shù)的幾種方法
因?yàn)樵陧?xiàng)目中需要在兩個(gè)頁(yè)面之間傳遞一些參數(shù),所以總結(jié)出以下幾個(gè)傳遞參數(shù)的方法2009-06-06
asp.net5中的用戶認(rèn)證與授權(quán)(1)
Visual Studio 2015 Preview 除了給我們帶了了C# 6.0的新語(yǔ)法、跨移動(dòng)的開(kāi)發(fā)以外,還給我們帶來(lái)了ASP.NET5(也就是之前被稱作下一代ASP.NET的ASP.NET vNext)。本文給大家介紹asp.net5中的用戶認(rèn)證與授權(quán)(1),需要的朋友可以參考下2015-10-10

