在C#语法中,怎么实现将图片做成马赛克效果?下面编程教程网小编给大家详细介绍一下具体实现代码!
代码如下:
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#语法怎么实现图片马赛克效果?”的全面内容,想了解更多关于 php入门 内容,请继续关注编程基础学习网。
沃梦达教程
本文标题为:C#语法怎么实现图片马赛克效果?


猜你喜欢
- php str_replace的替换漏洞 2024-02-19
- php中的数组操作函数整理 2024-01-01
- PHP排序算法之基数排序(Radix Sort)实例详解 2022-10-15
- 如何利用php函数去除字符串右侧第一个字符 2025-01-10
- PHP生成加减算法方式的验证码实例 2022-10-08
- PHP实现加强版加密解密类实例 2023-08-03
- PHP实现十进制数字与二十六进制字母串相互转换操作示例 2023-08-13
- PHP实现的操作数组类库定义与用法示例 2023-01-15
- php开发论坛系统 2023-03-19
- 基于PHP对XML的操作详解 2024-04-12