C# MagickImage 圆角一个正方形图片,并透明化
时间: 2023-08-02 08:36:54 浏览: 61
你可以使用 Magick.NET 库中的 MagickImage 类来实现圆角化和透明化操作。以下是示例代码:
```csharp
using ImageMagick;
// 读取图片
using (var image = new MagickImage("input.png"))
{
// 圆角化操作
image.CornerRadius = new Percentage(50);
// 透明化操作
image.Evaluate(Channels.Alpha, EvaluateOperator.Set, 0);
// 保存图片
image.Write("output.png");
}
```
上述代码中,首先使用 `MagickImage` 类读取了输入图片,然后通过设置 `CornerRadius` 属性将图片圆角化。接着使用 `Evaluate` 方法将图片的 alpha 通道设置为 0,实现透明化操作。最后使用 `Write` 方法保存图片。
需要注意的是,上述代码中的圆角化操作是将正方形图片变成圆形,如果需要实现其他形状的圆角化,可以调整 `CornerRadius` 属性的值。
相关问题
C#使用MagickImage将一个正方形图片圆角
使用 Magick.NET 库中的 MagickImage 类,可以很方便地实现将一个正方形图片圆角化的操作。以下是示例代码:
```csharp
using ImageMagick;
// 读取图片
using (var image = new MagickImage("input.png"))
{
// 圆角化操作
image.CornerRadius = new Percentage(50);
// 保存图片
image.Write("output.png");
}
```
上述代码中,首先使用 `MagickImage` 类读取了输入图片,然后通过设置 `CornerRadius` 属性将图片圆角化。接着使用 `Write` 方法保存图片。
需要注意的是,上述代码中的圆角化操作是将正方形图片变成圆形,如果需要实现其他形状的圆角化,可以调整 `CornerRadius` 属性的值。
C# 使用MagickImage 画一个圆并填充换背景图片
好的,首先需要引入Magick.NET库,然后可以按照以下步骤来实现:
1. 加载背景图片和圆形图片
```csharp
using (MagickImage backgroundImage = new MagickImage("path/to/background/image.jpg"))
using (MagickImage circleImage = new MagickImage(MagickColors.Transparent, 200, 200))
{
// 在circleImage上绘制圆形
circleImage.Draw(new DrawableCircle(100, 100, 90, 90));
// 填充圆形颜色
circleImage.ColorFuzz = new Percentage(5);
circleImage.Alpha(AlphaOption.Transparent);
circleImage.FillColor = MagickColors.Red;
circleImage.Draw(new DrawableFillColor(100, 100, PaintMethod.Floodfill));
// 将圆形图片放到背景图片中央
backgroundImage.Composite(circleImage, Gravity.Center, CompositeOperator.SrcOver);
}
```
2. 将处理后的图片保存到本地
```csharp
backgroundImage.Write("path/to/output/image.jpg");
```
以上代码就可以实现在背景图片上绘制填充颜色的圆形。