C#實(shí)現(xiàn)圖片放大功能的按照像素放大圖像方法
本文實(shí)例講述了基于Visual C#實(shí)現(xiàn)的圖片放大功能代碼。可以直接放大像素,類似photoshop的圖片放大功能,可用于像素的定位及修改,由于使用了指針需要勾選允許不安全代碼選項(xiàng),讀者可將其用于自己的項(xiàng)目中!
關(guān)于幾個(gè)參數(shù)說(shuō)明:
srcbitmap源圖片
multiple圖像放大倍數(shù)
放大處理后的圖片
注意:需要在頭部引用:using System.Drawing;using System.Drawing.Imaging;
至于命名空間讀者可以自己定義。
主要功能代碼如下:
using System.Drawing;using System.Drawing.Imaging; public Bitmap Magnifier(Bitmap srcbitmap, int multiple) { if (multiple <= 0) { multiple = 0; return srcbitmap; } Bitmap bitmap = new Bitmap(srcbitmap.Size.Width * multiple, srcbitmap.Size.Height * multiple); BitmapData srcbitmapdata = srcbitmap.LockBits(new Rectangle(new Point(0, 0), srcbitmap.Size), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); BitmapData bitmapdata = bitmap.LockBits(new Rectangle(new Point(0, 0), bitmap.Size), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); unsafe { byte* srcbyte = (byte*)(srcbitmapdata.Scan0.ToPointer()); byte* sourcebyte = (byte*)(bitmapdata.Scan0.ToPointer()); for (int y = 0; y < bitmapdata.Height; y++) { for (int x = 0; x < bitmapdata.Width; x++) { long index = (x / multiple) * 4 + (y / multiple) * srcbitmapdata.Stride; sourcebyte[0] = srcbyte[index]; sourcebyte[1] = srcbyte[index + 1]; sourcebyte[2] = srcbyte[index + 2]; sourcebyte[3] = srcbyte[index + 3]; sourcebyte += 4; } } } srcbitmap.UnlockBits(srcbitmapdata); bitmap.UnlockBits(bitmapdata); return bitmap; }
- WPF實(shí)現(xiàn)圖片合成或加水印的方法【2種方法】
- 深入分析WPF客戶端讀取高清圖片卡以及縮略圖的解決方法詳解
- silverlight實(shí)現(xiàn)圖片局部放大效果的方法
- Silverlight將圖片轉(zhuǎn)換為byte的實(shí)現(xiàn)代碼
- Silverlightbutton圖片切換樣式實(shí)例代碼
- C# 實(shí)現(xiàn)的圖片蓋章功能,支持拖拽、旋轉(zhuǎn)、放縮、保存
- C#圖片按比例縮放的實(shí)現(xiàn)代碼
- c#圖片縮放圖片剪切功能實(shí)現(xiàn)(等比縮放)
- WPF/Silverlight實(shí)現(xiàn)圖片局部放大的方法分析
相關(guān)文章
C# 操作PostgreSQL 數(shù)據(jù)庫(kù)的示例代碼
本篇文章主要介紹了C# 操作PostgreSQL 數(shù)據(jù)庫(kù)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11C#從windows剪貼板獲取并顯示文本內(nèi)容的方法
這篇文章主要介紹了C#從windows剪貼板獲取并顯示文本內(nèi)容的方法,涉及C#操作剪貼板的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04C#實(shí)現(xiàn)同Active MQ通訊的方法
這篇文章主要介紹了C#實(shí)現(xiàn)同Active MQ通訊的方法,簡(jiǎn)單分析了Active MQ的功能及C#與之通訊的實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-07-07C# Dictionary和SortedDictionary的簡(jiǎn)介
今天小編就為大家分享一篇關(guān)于C# Dictionary和SortedDictionary的簡(jiǎn)介,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10C#基礎(chǔ)學(xué)習(xí)系列之Attribute和反射詳解
大家在使用Attribute的時(shí)候大多需要用到反射,所以放在一起。下面這篇文章主要給大家介紹了關(guān)于C#基礎(chǔ)學(xué)習(xí)系列之Attribute和反射的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09WPF 在image控件用鼠標(biāo)拖拽出矩形的實(shí)現(xiàn)方法
這篇文章主要介紹了WPF 在image控件用鼠標(biāo)拖拽出矩形的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Unity3D實(shí)現(xiàn)待機(jī)狀態(tài)圖片循環(huán)淡入淡出
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)待機(jī)狀態(tài)圖片循環(huán)淡入淡出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04