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

更新时间:2023-07-25 16:49:48 阅读: 评论:0

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;
}

本文发布于:2023-07-25 16:49:48,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1116712.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:代码   读者   需要   允许   像素   勾选   图像
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图