在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工作流
 一只迷人的黑豹ComfyUI工作流 一只迷人的黑豹ComfyUI工作流
 一只可爱的毛茸茸的猫ComfyUI工作流 一只可爱的毛茸茸的猫ComfyUI工作流
 一个超现实和超现实的场景,在森林中心有一座蛇形的房子 一个超现实和超现实的场景,在森林中心有一座蛇形的房子
 一个迷人而丰满的女巫和一只黑猫骑着飞天扫帚 一个迷人而丰满的女巫和一只黑猫骑着飞天扫帚
 一位穿着长袍的强大法师ComfyUI工作流 一位穿着长袍的强大法师ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

 自动打字效果(惊喜在后面)
 自动打字效果(惊喜在后面) css3做一个风雨雷电天气动态图标
 css3做一个风雨雷电天气动态图标 javascript如何利用draggable实现一个拖拽效果
 javascript如何利用draggable实现一个拖拽效果 canvas空间文本射线
 canvas空间文本射线 利用css3做一个动态loading效果
 利用css3做一个动态loading效果 用svg画出游泳池动画效果
 用svg画出游泳池动画效果 js导出excel插件(兼容mac电脑Numbers表格)
 js导出excel插件(兼容mac电脑Numbers表格) SVG路径动画效果
 SVG路径动画效果











