有時我們需要在圖像上添加水印。例如,在圖像上添加版權或名稱。我們可能還需要在文檔中創建水印。 在這篇博客和代碼示例中,我解釋瞭如何使用 C# 在圖像上編寫文本。此代碼可用於 Windows 或 Web 應用程式。 首先,將需要添加水印的圖片放在程式運行目錄,水印示例圖片具體如下 其次,在項目中添加“ ...
有時我們需要在圖像上添加水印。例如,在圖像上添加版權或名稱。我們可能還需要在文檔中創建水印。
在這篇博客和代碼示例中,我解釋瞭如何使用 C# 在圖像上編寫文本。此代碼可用於 Windows 或 Web 應用程式。
首先,將需要添加水印的圖片放在程式運行目錄,水印示例圖片具體如下
其次,在項目中添加“System.Drawing.dll”引用
然後,引用“using System.Drawing ”,為圖片添加水印代碼如下
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace YlqfTest
{
internal class Program
{
private static void Main(string[] args)
{
//設置目標圖片路徑
string src_path = "cstp.jpg";
//設置保存位置
string dst_path = "cisharp.jpg";
//讀取目標圖片
System.Drawing.Image src_img = (System.Drawing.Image)Bitmap.FromFile(src_path);
//設置水印字體、字型大小
Font font = new Font("Arial", 35, FontStyle.Italic, GraphicsUnit.Pixel);
//設置水印顏色
Color color = Color.FromArgb(255, 255, 0, 0);
//運算水印位置
Point atpoint = new Point(src_img.Width / 2, src_img.Height / 2);
//初始化畫刷
SolidBrush brush = new SolidBrush(color);
//初始化gdi繪圖
using (Graphics graphics = Graphics.FromImage(src_img))
{
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
graphics.DrawString("www.cisharp.com", font, brush, atpoint, sf);
using (MemoryStream m = new MemoryStream())
{
//以jpg格式寫入到記憶體流,完成繪製
src_img.Save(m, System.Drawing.Imaging.ImageFormat.Jpeg);
//保存到磁碟
src_img.Save(dst_path);
}
}
}
}
}
最後,附上效果圖
轉載自C#如何添加圖片水印?