C#如何使用MagickImage将图片圆角化处理的
时间: 2024-01-23 21:01:36 浏览: 125
源码图片圆角很多项目中用到了用户头像但是系统的ImageView是四方形的自己写了个处理的方法把bitmap处理成圆角的很方便
你可以使用Magick.NET中的MagickImage类,来圆角化处理图片。下面是一个使用C#和Magick.NET的示例代码:
```
using ImageMagick;
public void RoundCorners(string inputPath, string outputPath, int cornerRadius)
{
using (MagickImage image = new MagickImage(inputPath))
{
// 计算画笔尺寸
int width = image.Width;
int height = image.Height;
int diameter = cornerRadius * 2;
if (diameter > width) diameter = width;
if (diameter > height) diameter = height;
// 创建画笔
MagickGeometry geometry = new MagickGeometry(0, 0, diameter, diameter);
MagickImage mask = new MagickImage(MagickColors.Transparent, width, height);
mask.Draw(new DrawableEllipse(geometry.X, geometry.Y, geometry.Width, geometry.Height, 0, 360));
// 应用画笔
image.Composite(mask, CompositeOperator.DstIn, gravity: Gravity.Center);
// 保存圆角化处理后的图片
image.Write(outputPath);
}
}
```
这个函数将会加载一个图片,然后使用指定的半径来创建一个圆角矩形的画笔,最后将画笔应用到图片上并保存处理后的图片到指定的路径。
阅读全文