c#中使用ImageSharp添加水印
时间: 2024-10-11 19:06:09 浏览: 33
C#图片批量添加水印源码
在 C# 中,使用 `ImageSharp` 库添加水印通常涉及到 `SixLabors.ImageSharp` 这个库,它是一个高性能的图像处理框架。要给图片添加水印,你需要按照以下步骤操作:
1. 首先,需要安装 SixLabors.ImageSharp 和 SixLabors.Fonts 库,可以使用 NuGet 包管理器来安装:
```powershell
Install-Package SixLabors.ImageSharp
Install-Package SixLabors.ImageSharp.Drawing.Processing
Install-Package SixLabors.Fonts
```
2. 引入所需命名空间:
```csharp
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Drawing.Processing;
using SixLabors.Fonts;
```
3. 加载图片并创建一个新的 Image 对象:
```csharp
var image = await Image.LoadAsync("path_to_your_image.jpg");
```
4. 定义水印文字、字体、大小以及位置:
```csharp
string watermarkText = "Your Watermark";
FontFamily font = new FontFamily("Arial"); // 或者自定义的.ttf文件路径
float fontSize = 20f;
PointF position = new PointF(image.Width - 100f, image.Height - 50f); // 可调整位置
```
5. 创建文本渲染器,并将文字添加到图像上:
```csharp
var textOptions = TextOptions.Default.WithFont(font, fontSize);
var renderer = new GraphicsOptions().WithAntialiasing();
image.Mutate(x => x.DrawText(watermarkText, position, textOptions, Color.Black, renderer));
```
6. 最后,保存带有水印的图片:
```csharp
await image.SaveAsPngAsync("output_with_watermark.png");
```
阅读全文