下面给您详细讲解“C#给图片加水印的简单实现方法”的完整攻略。
1.安装必要的开发环境
为了进行本文的演示,我们需要安装Visual Studio开发环境、.NET框架和C#语言工具。
2.新建C#控制台应用程序项目
打开Visual Studio,点击菜单栏的“文件”-“新建”-“项目”,在弹出的对话框中选择“控制台应用程序”项目,起一个项目名称并确定,然后在“程序.cs”文件中编写代码。
3.引入相关的命名空间
我们需要引入以下的命名空间:
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
4.加载原图像
首先,我们需要加载一张图片,并得到该图片的宽度和高度:
Bitmap bmp = new Bitmap("原图像的路径");
int width = bmp.Width;
int height = bmp.Height;
5.创建用于绘制文字的画刷和字体
下面我们需要创建一个用于绘制文字的画刷:
SolidBrush brush = new SolidBrush(Color.Black);
然后,我们需要创建一个字体对象:
Font font = new Font("Arial", 18);
注意字体的名称和大小可以根据实际情况进行设置。
6.绘制水印文字到图像上
在绘制水印之前,我们可以先对图片进行一些处理,比如压缩、裁剪等。接下来,我们将绘制水印文字到图片上:
Graphics graphics = Graphics.FromImage(bmp);
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.DrawString("水印文字", font, brush, new Point(width - 200, height - 50));
graphics.Save();
在这里,我们使用Graphics类的DrawString方法将水印文字绘制到图片的右下角位置,并调用Save方法将修改后的图片保存。
7.示例说明
以下是两个示例说明,分别是给多张图片添加文字水印和图片水印:
示例1:给多张图片添加文字水印
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace Watermark
{
class Program
{
static void Main(string[] args)
{
string[] files = System.IO.Directory.GetFiles("图片目录的路径", "*.jpg");
string savePath = "图片保存目录的路径";
string watermarkText = "水印文字";
Font font = new Font("微软雅黑", 18, FontStyle.Bold);
SolidBrush brush = new SolidBrush(Color.FromArgb(128, 255, 255, 255));
foreach (string file in files)
{
Image image = Image.FromFile(file);
Graphics graphics = Graphics.FromImage(image);
graphics.SmoothingMode = SmoothingMode.HighQuality;
SizeF sizeF = graphics.MeasureString(watermarkText, font);
graphics.DrawString(watermarkText, font, brush, new PointF(image.Width - sizeF.Width - 10, image.Height - sizeF.Height - 10));
image.Save(savePath + "\\" + System.IO.Path.GetFileName(file));
}
}
}
}
示例2:给多张图片添加图片水印
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace Watermark
{
class Program
{
static void Main(string[] args)
{
string[] files = System.IO.Directory.GetFiles("图片目录的路径", "*.jpg");
string savePath = "图片保存目录的路径";
Random random = new Random();
foreach (string file in files)
{
Image image = Image.FromFile(file);
Image watermark = Image.FromFile(@"图片水印的路径");
Graphics graphics = Graphics.FromImage(image);
graphics.SmoothingMode = SmoothingMode.HighQuality;
int x = random.Next(image.Width - watermark.Width);
int y = random.Next(image.Height - watermark.Height);
graphics.DrawImage(watermark, new Rectangle(x, y, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel);
image.Save(savePath + "\\" + System.IO.Path.GetFileName(file));
}
}
}
}
以上就是C#给图片加水印的简单实现方法的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#给图片加水印的简单实现方法 - Python技术站