欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > C# 图片处理 - 图片水印

C# 图片处理 - 图片水印

2025/10/20 18:10:45 来源:https://blog.csdn.net/yuanchuang123456/article/details/141629611  浏览:    关键词:C# 图片处理 - 图片水印

摘要


在图像处理中,图片水印是一种常见的技术,它可以在图像上添加文本或图形,用于标识、保护或美化图像。在本文中,我们将介绍如何使用 C# 来实现图片水印,包括常用的属性和方法,以及一些示例代码。

正文


添加文本水印

添加文本水印是一种简单且常用的方式,下面是一些常用的属性和方法:

属性

  • Text:水印文本内容。

  • Font:水印文本的字体。

  • Color:水印文本的颜色。

  • Opacity:水印文本的透明度。

方法

  • AddTextWatermark(string imagePath, string watermarkText, Font font, Color color, float opacity):将文本水印添加到指定的图像文件中。

 下面是一个示例代码,演示如何添加文本水印:

public string AddTextWatermark(string imagePath, string watermarkText, Font font, Color color, float opacity)
{    string decImage = imagePath + "_watermarked.jpg";    using (Image image = Image.FromFile(imagePath))    using (Graphics graphics = Graphics.FromImage(image))    {        // 创建一个画刷,用于设置文本颜色和透明度        SolidBrush brush = new SolidBrush(Color.FromArgb((int)(opacity * 255), color));// 创建一个 StringFormat 对象,用于设置文本对齐方式        StringFormat format = new StringFormat();        format.Alignment = StringAlignment.Center;        format.LineAlignment = StringAlignment.Center;// 绘制文本水印        graphics.DrawString(watermarkText, font, brush, new Point(image.Width / 2, image.Height / 2), format);// 保存图像        image.Save(decImage, ImageFormat.Png);    }    return decImage;
}// 使用示例
WatermarkProcessor watermarkProcessor = new WatermarkProcessor();
string img= watermarkProcessor.AddTextWatermark("D:\\BaiduSyncdisk\\11Test\\promo.png"    , "hello world", new Font("Arial", 24), Color.Red, 0.5f);
pictureBox1.Image=Image.FromFile(img);

在上面的示例中,我们使用 Graphics.DrawString 方法将文本水印绘制在图像中心位置。可以根据需要调整文本的字体、颜色和透明度等参数。

添加图形水印

除了文本水印,我们还可以添加图形水印,例如公司标志或图标。下面是一些常用的属性和方法:

属性

  • Image:水印图形。

  • Opacity:水印图形的透明度。

方法

  • AddImageWatermark(string imagePath, Image watermarkImage, float opacity):将图形水印添加到指定的图像文件中。

public string AddImageWatermark(string imagePath, Image watermarkImage, float opacity)
{    string decImage = imagePath + "_watermarked.jpg";    using (Image image = Image.FromFile(imagePath))    using (Graphics graphics = Graphics.FromImage(image))    {        // 创建一个 ImageAttributes 对象,用于设置图像透明度        ImageAttributes attributes = new ImageAttributes();        ColorMatrix matrix = new ColorMatrix();        matrix.Matrix33 = opacity;        attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);// 绘制图形水印        graphics.DrawImage(watermarkImage, new Rectangle(0, 0, watermarkImage.Width, watermarkImage.Height), 0, 0, watermarkImage.Width, watermarkImage.Height, GraphicsUnit.Pixel, attributes);// 保存图像        image.Save(decImage, ImageFormat.Png);    }    return decImage;
}

下面是一个示例代码,演示如何添加图形水印:

总结

在本文中,我们介绍了如何使用 C# 来实现图片水印。通过添加文本水印或图形水印,我们可以标识、保护或美化图像。我们通过示例代码演示了如何使用常用的属性和方法来实现图片水印功能。

  转载于公众号技术老小子!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词