使用C#添加图片水印及Windows图片查看器展示

需积分: 10 2 下载量 113 浏览量 更新于2024-09-15 收藏 4KB TXT 举报
"该代码示例展示了如何在C#中创建一个类`DrawingWterMark`,用于在图片上添加文字水印。方法`DrawStrWaterMark`接收四个参数:水印文字、X坐标、Y坐标和原始图片,然后在图片上绘制文字水印并应用倾斜效果。" 在Windows应用程序开发中,有时我们需要对图片进行保护或者增加版权信息,这时可以使用图片水印技术。这段代码提供了一个简单的解决方案,它利用了.NET Framework的`System.Drawing`命名空间,这个命名空间包含了许多用于处理图像的基本类和方法。 `DrawStrWaterMark`方法首先定义了一个`StringFormat`对象`DrawFormat`,用于设置文字的对齐方式和换行方式。将文字对齐方式设置为居中,禁止换行,以确保水印文字在整个图片宽度内均匀分布。接着,创建一个`Graphics`对象`myGraphic`,它是从原始图片`img`获取的,用于在图片上进行绘图操作。 通过`myGraphic.MeasureString`方法计算水印文字的尺寸,然后确定其在图片上的位置,以保持居中。接下来,使用`TranslateTransform`方法平移图形坐标系,以便水印文字的中心点位于指定的X和Y坐标。 接下来,创建一个`Matrix`对象`transform`来表示当前的图形变换,并使用`Shear`方法应用倾斜变换,这里的参数`shearX`和`shearY`分别表示X轴和Y轴的剪切因子,这里设置为0.50F,这意味着水印文字会向右下方倾斜45度角。 最后,使用`myGraphic.DrawString`方法在图形上下文中绘制水印文字,使用`newFont`创建一个字体对象,设置字体类型、大小和样式。这将在图片上添加带有倾斜效果的文字水印。 为了查看带有水印的图片,可以使用Windows内置的图片查看器。这段代码没有包含显示或保存处理后的图片的代码,但你可以将处理后的`img`对象保存为新的图片文件,然后使用Windows图片查看器打开查看。 这个类和方法可以作为一个基本的起点,根据实际需求进行扩展,例如支持多种类型的水印(如图片水印)、调整水印透明度、添加更多的文字样式选项等。同时,为了提高性能,可以考虑使用批处理方式一次性处理多张图片,或者在多线程环境中运行。