C#实现图片放大功能的按照像素放大图像方法
2014-07-30 17:04
2366 查看
本文实例讲述了基于Visual C#实现的图片放大功能代码。可以直接放大像素,类似photoshop的图片放大功能,可用于像素的定位及修改,由于使用了指针需要勾选允许不安全代码选项,读者可将其用于自己的项目中!
关于几个参数说明:
srcbitmap源图片
multiple图像放大倍数
放大处理后的图片
注意:需要在头部引用: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; }
您可能感兴趣的文章:
相关文章推荐
- C#中Bitmap类实现对图像操作的一些方法(Asp.net(C#)-放大缩小图片尺寸)
- js实现图片放大缩小功能后进行复杂排序的方法
- js实现图片放大缩小功能后进行复杂排序的方法
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- C#实现抓图功能,保存图片
- C#编程 忘记密码功能的实现方法
- VisualStudio2008环境下,用C#语言写三个方法实现发邮件功能
- C#实现图片分割方法与代码
- C# :实现水印与图片合成,并利用Graphics 压缩图像质量 , (委托实现listBox的动态添加提示)。。。。。。。。。。。。
- C#实现图片分割方法与代码
- C#实现任意角度旋转图片(方法1)
- 另一种方法实现silverlight图片局部放大效果
- C# WinForm 实现增删改查等功能(Access版) 系列之七-图片处理
- C#实现任意角度旋转图片(方法1)
- Javascript实现图片的移动,图片的放大,图片缩小功能
- C#实现任意角度旋转图片(方法2)
- C# WinForm 实现增删改查等功能(Access版) 系列之七-图片处理
- c#实现魔兽(warIII)中显血和改键功能 (附源码)(Hook中start方法已改进)
- C# ASP.NET 最常用的通用权限的3个方法例子展示(每个功能一行代码实现)
- C#中Bitmap类实现对图像操作的一些方法