在C#语法中,怎么实现将图片做成马赛克效果?下面web建站小编给大家详细介绍一下具体实现代码!
代码如下:
using System.Drawing;
using System.Drawing.Imaging;
using System.Web.Mvc;
namespace MVC2017_Sample.Controllers
{
public class DefaultController : Controller
{
public ActionResult Index()
{
//原图
Image img = Image.FromFile("e:\\pic.jpg");
Bitmap map = new Bitmap(img);
//马赛克处理后的图片
Image img2 = AdjustTobMosaic(map, 20);
img2.Save("c:\\1_bak.jpg", ImageFormat.Jpeg);
return View();
}
/// <summary>
/// 马赛克处理
/// </summary>
/// <param name="bitmap"></param>
/// <param name="effectWidth"> 影响范围 每一个格子数 </param>
/// <returns></returns>
public Bitmap AdjustTobMosaic(System.Drawing.Bitmap bitmap, int effectWidth)
{
// 差异最多的就是以照一定范围取样 玩之后直接去下一个范围
for (int heightOfffset = 0; heightOfffset < bitmap.Height; heightOfffset += effectWidth)
{
for (int widthOffset = 0; widthOffset < bitmap.Width; widthOffset += effectWidth)
{
int avgR = 0, avgG = 0, avgB = 0;
int blurPixelCount = 0;
for (int x = widthOffset; (x < widthOffset + effectWidth && x < bitmap.Width); x++)
{
for (int y = heightOfffset; (y < heightOfffset + effectWidth && y < bitmap.Height); y++)
{
System.Drawing.Color pixel = bitmap.GetPixel(x, y);
avgR += pixel.R;
avgG += pixel.G;
avgB += pixel.B;
blurPixelCount++;
}
}
// 计算范围平均
avgR = avgR / blurPixelCount;
avgG = avgG / blurPixelCount;
avgB = avgB / blurPixelCount;
// 所有范围内都设定此值
for (int x = widthOffset; (x < widthOffset + effectWidth && x < bitmap.Width); x++)
{
for (int y = heightOfffset; (y < heightOfffset + effectWidth && y < bitmap.Height); y++)
{
System.Drawing.Color newColor = System.Drawing.Color.FromArgb(avgR, avgG, avgB);
bitmap.SetPixel(x, y, newColor);
}
}
}
}
return bitmap;
}
}
}
C#语法中的关于Environment.Exit()方法的运用
上面是“C#语法怎么实现图片马赛克效果?”的全面内容,想了解更多关于 php入门 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_4128.html
workflows工作流
葡萄庄园白葡萄酒ComfyUI工作流
一条色彩斑斓的超现实小孔雀鱼ComfyUI工作流
一条闪闪发光的金鱼ComfyUI工作流
一对葫芦ComfyUI工作流
一把令人难忘的美丽吉他ComfyUI工作流
雪地里一只可爱的小老虎
一座巨大的野兽派建筑漂浮在热带风景中的贫民
潜水员,珊瑚,鲸鱼,潜水艇comfyui工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

Bootstrap可视化拖放布局
做一个好玩的时钟翻牌效果
利用CSS3代码编写45款按钮效果
用ascii字符画图像
css3+js菜单点击动态效果
利用js+css3做一个小鱼游泳特效












