彩票走势图

图像处理控件Aspose.Imaging功能实操教学:使用C#向图像添加水印

翻译|使用教程|编辑:李显亮|2021-03-10 09:45:48.723|阅读 416 次

概述:图像中的水印通常用于声明内容的所有权。对于这种情况,本文介绍如何使用C#以编程方式向图像添加水印。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

图像中的水印通常用于声明内容的所有权。另一方面,对图像加水印,以避免未经授权的使用或伪造。在各种情况下,可能需要在Web或桌面应用程序中自动执行水印功能。

对于这种情况,本文介绍如何使用C#以编程方式向图像添加水印。当您需要一次性为一批图像加水印时,这也可能很有用。

  • 在C#中向图像添加水印
  • 在C#中向图像添加对角水印

为了向图像添加水印,我们将使用Aspose.Imaging。它是功能强大的图像处理API,支持多种图像格式。此外,API使您更轻松地操作图像。还没使用过的朋友可以点击下载最新版

图像处理控件Aspose.Imaging功能实操教学:使用C#向图像添加水印
整合所有格式的Aspose.Total永久授权正在火热促销中,立马1分钟了解全部咨询!

在C#中向图像添加水印

以下是使用C#向图像添加水印的步骤。

  • 使用Image类加载图像。
  • 创建Graphics类的实例,并使用Image对象对其进行初始化。
  • 使用Font类设置字体系列,大小和外观。
  • 创建SolidBrush类的实例并设置其属性,例如颜色等。
  • 实例化StringFormat类以设置文本对齐方式。
  • 使用Graphics.DrawString(String,Font,SolidBrush,0,0,StringFormat)方法将水印添加到图像。
  • 使用Image.Save(String)方法保存图像。

以下代码示例显示了如何在C#中向图像添加水印。

// Load an existing PNG image
using (Image image = Image.Load("image.png"))
{
    // Declare a String object with Watermark Text
    string theString = "This is watermark";

    // Create and initialize an instance of Graphics class and Initialize an object of SizeF to store image Size
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Creates an instance of Font, initialize it with Font Face, Size and Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Create an instance of SolidBrush and set its various properties
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Initialize an object of StringFormat class and set its various properties
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Draw the string on Image Save output to disk
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.jpg");
}
图像处理控件Aspose.Imaging功能实操教学:使用C#向图像添加水印

在C#中向图像添加对角水印

在各种情况下,水印对角地应用于图像。为此,Aspose.Imaging for .NET允许以特定角度转换水印文本。以下是向图像添加对角水印的步骤。

  • 使用Image类加载图像。
  • 创建Graphics类的实例,并使用Image对象对其进行初始化。
  • 使用Font类设置字体系列,大小和外观。
  • 创建SolidBrush类的实例并设置其属性,例如颜色等。
  • 实例化StringFormat类以设置文本对齐方式。
  • 创建Matrix类的实例并设置变换角度。
  • 将Matrix对象分配给Graphics.Transform属性。
  • 使用Graphics.DrawString(String,Font,SolidBrush,0,0,StringFormat)方法添加水印。
  • 使用Image.Save(String)方法保存图像。

下面的代码示例演示如何使用C#向图像添加对角水印。

// Load an existing PNG image
using (Image image = Image.Load("Image.png"))
{
    // Declare a String object with Watermark Text
    string theString = "45 Degree Rotated Text";

    // Create and initialize an instance of Graphics class and Initialize an object of SizeF to store image Size
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Creates an instance of Font, initialize it with Font Face, Size and Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Create an instance of SolidBrush and set its various properties
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Initialize an object of StringFormat class and set its various properties
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Create an object of Matrix class for transformation
    Matrix matrix = new Matrix();

    // First a translation then a rotation                
    matrix.Translate(sz.Width / 2, sz.Height / 2);
    matrix.Rotate(-45.0f);

    // Set the Transformation through Matrix
    graphics.Transform = matrix;

    // Draw the string on Image Save output to disk
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.png");
}
图像处理控件Aspose.Imaging功能实操教学:使用C#向图像添加水印

如果你想试用Aspose的全部完整功能,可 联系在线客服获取30天临时授权体验。


还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP