当前位置: 首页 > 编程笔记 >

C#实现图片放大功能的按照像素放大图像方法

邹普松
2023-03-14
本文向大家介绍C#实现图片放大功能的按照像素放大图像方法,包括了C#实现图片放大功能的按照像素放大图像方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了基于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;
}
 类似资料:
  • 本文向大家介绍jquery实现图片放大镜功能,包括了jquery实现图片放大镜功能的使用技巧和注意事项,需要的朋友参考一下 实现原理:   这里用到了两张图片,一张小图,一张大图。将大图设置为放大镜的背景图片,当鼠标在小图上移动时,同时控制背景大图在放大镜中的位置。两张图片大小最好是等比例的,这样才能达到最佳效果。当没有大图时,则默认为小图本身,这时由于两张图片大小一样,因此放大镜效果不明显,就跟

  • 本文向大家介绍js实现单击图片放大图片的方法,包括了js实现单击图片放大图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现单击图片放大图片的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍Android开发实现的图片浏览功能示例【放大图片】,包括了Android开发实现的图片浏览功能示例【放大图片】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android开发实现的图片浏览功能。分享给大家供大家参考,具体如下: 效果图: 布局文件: 代码实现透明度改变: 更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《

  • 本文向大家介绍js自制图片放大镜功能,包括了js自制图片放大镜功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 注释: small img size:600x400 big img size:1200x800 原理: 1、大图是小图的 2倍整 2、大图以小图片中心点为中心       a.transform : tr

  • 本文向大家介绍Jquery实现鼠标移动放大图片功能实例,包括了Jquery实现鼠标移动放大图片功能实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Jquery实现鼠标移动放大图片功能的方法。分享给大家供大家参考。具体分析如下: 做毕业设计,老师看完小样后,嫌弃我购物车里商品图片太大,不美观,让美化个效果。上网查查代码,修改了一个简单版的。 使用的是jquery, 未使用JavaScri

  • 一个播放器功能,现在需求将视频播放修改为播放图片。 我试过直接替换路径,但是图片加载需要时间,有些时候就会在图片还没有加载完成就调到下一章图片了,出现黑屏现象,因此需要图片提前加载几张才行,有什么方法可以解觉这个问题,或者有什么开源组件可以实现播放图片的功能