这个是早之前写下的一个程序,一直没有整理,今天整理一下。
这里主要把水印分为两种:字符和图片。而GDI+都有相关的处理函数,可以说整个过程都是GDI+在帮你完成(其实GDI+可以帮你做很多事情),相关图片就不放这里了,QQ博客上有:http://user.qzone.qq.com/83172527/infocenter
这边主要是上代码:
以上是字符水印的方法,用过GDI+的应该可以看出这里没有直接用DrawString方法,其实这个画字符的首选,感觉用这个画字符,即使不做其他设置,字符也会平滑好看很多,但是水印中的描边功能一直不好解决,因为描边在GDI+中其实就是用DrawPath画轮廓,但是用DrawPath所画的字体轮廓与DrawString所画的字体实体大小有差距,这个不知道为什么,或许是我没有处理好。所以这里我所使用的是DrawPath+FillPath来画字符,这里画字符有一个更好的参考例子:http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=42529&av=17207
以上是画图片水印的方法,图片就没什么的都是用DrawImage,这里我没有研究要怎么处理比较好,比如说用轻松水印做的图片水印,透明背景色它可以做得很圆滑的,估计是画的时候做过特殊的处理的,但是我这边没有做了。
项目源码:http://download.csdn.net/source/2912277
注:这里我只是实现水印基本功能,所以代码结构和本身都没有怎么优化。