System.Drawing.Common 给图片添加水印
时间: 2023-11-29 09:06:23 浏览: 66
使用 System.Drawing.Common 库可以很方便地为图片添加水印。您可以按照以下步骤来实现:
1. 加载原始图片
```csharp
Image originalImage = Image.FromFile("original.jpg");
```
2. 创建一个画布并在画布上绘制原始图片
```csharp
Bitmap bitmap = new Bitmap(originalImage.Width, originalImage.Height);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.DrawImage(originalImage, 0, 0);
```
3. 创建一个字体和一个画刷用于绘制水印
```csharp
Font font = new Font("Arial", 16, FontStyle.Bold, GraphicsUnit.Pixel);
Brush brush = new SolidBrush(Color.FromArgb(128, 255, 255, 255));
```
4. 设置水印文本的位置和内容
```csharp
string watermarkText = "Watermark";
PointF watermarkPosition = new PointF(10, 10);
```
5. 在画布上绘制水印文本
```csharp
graphics.DrawString(watermarkText, font, brush, watermarkPosition);
```
6. 保存处理后的图片
```csharp
bitmap.Save("watermarked.jpg", ImageFormat.Jpeg);
```
完整代码示例:
```csharp
using System.Drawing;
using System.Drawing.Imaging;
namespace WatermarkExample
{
class Program
{
static void Main(string[] args)
{
// 加载原始图片
Image originalImage = Image.FromFile("original.jpg");
// 创建一个画布并在画布上绘制原始图片
Bitmap bitmap = new Bitmap(originalImage.Width, originalImage.Height);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.DrawImage(originalImage, 0, 0);
// 创建一个字体和一个画刷用于绘制水印
Font font = new Font("Arial", 16, FontStyle.Bold, GraphicsUnit.Pixel);
Brush brush = new SolidBrush(Color.FromArgb(128, 255, 255, 255));
// 设置水印文本的位置和内容
string watermarkText = "Watermark";
PointF watermarkPosition = new PointF(10, 10);
// 在画布上绘制水印文本
graphics.DrawString(watermarkText, font, brush, watermarkPosition);
// 保存处理后的图片
bitmap.Save("watermarked.jpg", ImageFormat.Jpeg);
}
}
}
```
运行后,将在程序运行目录生成一个名为 `watermarked.jpg` 的水印图片。
阅读全文