一种水印图片的实现方法
【专利摘要】本发明公开了一种水印图片的实现方法,所述方法简单适用,用户不需要使用图片编辑软件修改图片,直接可以通过网站批量修改图片,并使所有的图片添加水印的位置保持一致,从而节约了大量的编辑时间;另外本方法不需要借助第三方软件,只需要GDI即可完成制作,制作成本低。
【专利说明】一种水印图片的实现方法
【技术领域】
[0001]本发明涉及一种水印图片的实现方法,属于计算机图形图像处理【技术领域】。
【背景技术】
[0002]在网站上展示发布图片时,通常会在图片上打上水印或者版权信息的情况,比如提供一些关于图片属于某个组织或者个人的版权信息。用图片+文字这种方式在网络上来展示产品,是一种普通而有效的方式。目前大多数的展示方式采用如下两种方式:一是把文字、图片通过图片编辑器制作一副整图片;二是把图片文字分开显示。第一种方式的不足之处是用户必须打开原图片,编辑原图,通常会耗费很多时间而且不能使所有的图片都保持一致;第二种方式的不足之处是虽然不需修改原图,但图片很可能被别人复制使用,版权受到侵犯。
【发明内容】
[0003]本发明的目的在于克服现有技术中的缺陷,提供一种水印图片的实现方法,所述方法简单适用,用户不需要使用图片编辑软件修改图片,直接可以通过网站批量修改图片,从而节约了大量的编辑时间,同时降低了制作成本。
[0004]本发明是通过以下技术方案予以实现的。
[0005]一种水印图片的实现方法,步骤如下:
第一步,首先定义两个字符串Strworkingdirectory和Strcopyright,Strworkingdirectory为图片的输入输出所在的文件夹路径,Strcopyright用于存储准备应用到水印中的版权信息;
第二步,为需要设水印的图片创建一个Image对象,并定义两个变量用来存储该图片的宽度和高度,然后利用Bitmap对象创建一个Graphics对象;
第三步,把原始图片添加到Graphics对象中,将原始图片的所有特征包括宽度、高度和像素都载入到Graphics对象中;
第四步,计算所画版权信息字符串的宽度,循环定义好的字体大小的数组,利用MeasureString计算出符合条件的第一个字体的大小值;
第五步,将字符串的垂直位置设为离图片底部的高度5%处,用版权信息字符串的高度来设定它所在的I轴方向上的坐标,通过计算图片中心位置并定义一个StringFormat对象,设置StringAlignment使版权信息位于图片的中心位置;
第六步,创建一个黑色为60%即透明度的值为153的SolidBrush对象,绘制版权信息字符串,并使其坐标位置在已计算的位置上向右和向下各偏移lpx,为了实现阴影效果,可再创建一个颜色为白色的SolidBrush对象,重复绘制一次版权信息字符串,并使其坐标位置直接为已计算的坐标位置;
第七步,保存添加了水印的图片,将添加了水印的图片添加到指定的文件夹,释放Graphic对象并存储图像为文件。[0006]上述的一种水印图片的实现方法,其中,所述第五步中将字符串的垂直位置设为离图片底部的高度5%处,是指字符串的中部位于离图片底部的高度5%处,而不是底部或者顶部位于离图片底部的高度5%处。
[0007]本发明一种水印图片的实现方法,所述方法简单适用,用户不需要使用图片编辑软件修改图片,直接可以通过网站批量修改图片,并可以使所有的图片添加水印的位置保持一致,从而节约了大量的编辑时间;另外本方法不需要借助第三方软件,只需要GDI即可完成制作,制作成本低。
【专利附图】
【附图说明】
[0008]图1是本发明一种水印图片的实现方法的流程示意图。
【具体实施方式】
[0009]一种水印图片的实现方法,如图1是一种水印图片的实现方法的流程示意图。第一步,首先取出原始图片,读取要添加的版权信息,定义两个字符串Strworkingdirectory和Strcopyright, Strworkingdirectory为图片的输入输出所在的文件夹路径,Strcopyright用于存储准备应用到水印中的版权信息;第二步,根据原始图片的大小创建一副空白图片,为需要设水印的图片创建一个Image对象,并定义两个变量用来存储该图片的宽度和高度,然后利用Bitmap对象创建一个Graphics对象;第三步,把原始图片添加到新创建的Graphics对象中,将原始图片的所有特征包括宽度、高度和像素都载入到Graphics对象中;第四步,计算所画版权信息字符串的宽度,循环定义好的字体大小的数组,利用MeasureString计算出符合条件的第一个字体的大小值;第五步,计算所画版权信息字符串的位置,将字符串的垂直位置设为离图片底部的高度5%处,用版权信息字符串的高度来设定它所在的y轴方向上的坐标,通过计算图片中心位置并定义一个StringFormat对象,设置StringAlignment使版权信息位于图片的中心位置;第六步,用黑白两种画刷绘制两次版权信息,实现阴影效果。首先创建一个黑色为60% (即透明度的值为153)的SolidBrush对象,绘制版权信息字符串,并使其坐标位置在已计算的位置上向右和向下各偏移lpx,为了实现阴影效果,可再创建一个颜色为白色的SoIidBrush对象,重复绘制一次版权信息字符串,并使其坐标位置直接为已计算的坐标位置;第七步,保存添加了水印的图片,将添加了水印的图片添加到指定的文件夹,释放Graphic对象并存储图像为文件。
【权利要求】
1.一种水印图片的实现方法,其特征在于,步骤如下: 第一步,首先定义两个字符串Strworkingdirectory和Strcopyright,Strworkingdirectory为图片的输入输出所在的文件夹路径,Strcopyright用于存储准备应用到水印中的版权信息; 第二步,为需要设水印的图片创建一个Image对象,并定义两个变量用来存储该图片的宽度和高度,然后利用Bitmap对象创建一个Graphics对象; 第三步,把原始图片添加到Graphics对象中,将原始图片的所有特征包括宽度、高度和像素都载入到Graphics对象中; 第四步,计算所画版权信息字符串的宽度,循环定义好的字体大小的数组,利用MeasureString计算出符合条件的第一个字体的大小值; 第五步,将字符串的垂直位置设为离图片底部的高度5%处,用版权信息字符串的高度来设定它所在的I轴方向上的坐标,通过计算图片中心位置并定义一个StringFormat对象,设置StringAlignment使版权信息位于图片的中心位置; 第六步,创建一个黑色为60%即透明度的值为153的SolidBrush对象,绘制版权信息字符串,并使其坐标位置在已计算的位置上向右和向下各偏移lpx,为了实现阴影效果,可再创建一个颜色为白色的SolidBrush对象,重复绘制一次版权信息字符串,并使其坐标位置直接为已计算的坐标位置; 第七步,保存添加了水印的图片,将添加了水印的图片添加到指定的文件夹,释放Graphic对象并存储图像为文件。
2.如权利要求1所述的一种水印图片的实现方法,其特征在于,所述第五步中将字符串的垂直位置设为离图片底部的高度5%处,是指字符串的中部位于离图片底部的高度5%处,而不是底部或者顶部位于离图片底部的高度5%处。
【文档编号】G06T1/00GK103839217SQ201210474682
【公开日】2014年6月4日 申请日期:2012年11月21日 优先权日:2012年11月21日
【发明者】王军 申请人:句容中新软件科技有限公司