C# 使用MagickImage将图片圆角处理
时间: 2023-11-26 20:20:53 浏览: 187
源码图片圆角很多项目中用到了用户头像但是系统的ImageView是四方形的自己写了个处理的方法把bitmap处理成圆角的很方便
好的,以下是一个使用C#和MagickImage库实现圆角处理的示例代码:
```C#
using System;
using ImageMagick;
class Program
{
static void Main(string[] args)
{
// 读取图片
using (MagickImage image = new MagickImage("input.jpg"))
{
// 获取图片大小
int width = image.Width;
int height = image.Height;
// 创建遮罩图
using (MagickImage mask = new MagickImage(MagickColors.White, width, height))
{
// 画一个白色的圆角矩形
using (MagickDrawables drawable = new MagickDrawables())
{
drawable.FillColor(MagickColors.Black);
drawable.RoundRectangle(0, 0, width, height, width / 10, height / 10);
mask.Draw(drawable);
}
// 设置遮罩图的透明度
mask.Alpha(MagickPixelAlphaMethod.Set);
// 把遮罩图和原图合并
image.Composite(mask, CompositeOperator.CopyOpacity);
// 保存结果
image.Write("output.jpg");
}
}
}
}
```
这个示例代码会读取名为"input.jpg"的图片,对其进行圆角处理,并将结果保存为"output.jpg"。具体实现步骤如下:
1. 读取图片。
2. 获取图片大小。
3. 创建一个遮罩图,大小和原图相同。
4. 用MagickDrawables类画一个白色的圆角矩形。
5. 设置遮罩图的透明度。
6. 把遮罩图和原图合并,使用CompositeOperator.CopyOpacity操作符。
7. 保存结果。
注意:这个示例代码中的圆角半径是图片宽高的1/10,你可以根据自己的需求修改。
阅读全文