论文部分内容阅读
[摘要]详细阐述在PHP5环境下如何给图片添加可视水印,水印功能主要分为两种,一是图片水印功能,二是文字水印功能。
[关键词]PHP 可视水印 GD库 imagealphablending( )
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0710127-01
一、引言
当前,计算机和互联网的飞速发展在许多方面改变了人们的生活。人们的很多生产的成果都以数字的形式存储和传输。基于计算机和网络的多媒体数字作品的使用、传播提供了极为便利的途径,多媒体信息的交流达到了前所未有的深度和广度,其发布形式愈加丰富了。人们可以通过Internet网发布自己的作品,传递重要信息,进行网络贸易等。但是与此同时其暴露出的安全问题也越来越严重:数字作品极易被非法拷贝和复制,使得很多版权所有者不愿意轻易公开其作品,这在相当程度上阻碍了其自身发展。目前,盗版已成为数字化产业最大的威胁。数字产品的版权保护问题迫在眉睫,如何既充分利用Internet网的便利,又能有效地保护知识产权,已受到人们的高度重视。
许多人希望能过加设密码来保护自己作品的版权,但是仅靠密码学并不能很好地解决这一问题。因为经加密后的数据变得“杂乱无章”,只有被授权持有解密密钥的人才可以存取数据,这样就无法向别人展示自己的作品,同时也容易引起攻击者的怀疑;而且数据一旦被解开,就完全置于解密人的控制之下,原创作者或版权所有者没办法追踪对其作品的复制或二次传播。在这种情况下,数字水印技术作为一种解决数字产品版权问题的有效手段得到了广泛关注,引起众多研究人员的兴趣,并逐渐成为了当今国际IT学术界的一个研究热点。
数字水印(Digital Watermark)技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。数字水印是信息隐藏技术的一个重要研究方向。
数字水印的分类方法有很多种,分类的出发点不同导致了分类的不同,它们之间是既有联系又有区别的。从外观上可将数字水印分为可视水印和不可视水印两类。如果嵌入的水印强度足够大,能够用肉眼直接观察到,则称之为可视水印。反之称之为不可视水印。相较于不可视水印,可视水印具有极大研究价值,因为对于可视水印来说,不存在水印的提取问题,因为水印是浮现在原始图像上的,不影响对原始图像作品的欣赏,起的是一种直观的版权信息告示。所以可视水印鲁棒性分析主要集中如何抵抗盗版者试图去掉水印而又不损害原图像方面。而含有不可视水印的数据通常与原始数据紧密结合在一起,难以用肉眼观察到。
对可视水印的使用应满足如下一些原则:(A)水印自适应地保持半透明,不可对原图像造成太大的视觉影响;(B)水印必须是不可或极难擦除的。
下面我就来介绍一个在PHP环境的新闻发布系统中下,如何给发布的图片添加可视水印的效果。
二、环境的构建
在PHP环境中实现水印功能,主要是利用子PHP5的支持GD库这一功能,在设计程序之前,首先要配置一下系统环境,具体步骤如下:
(1)将PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;号去掉。
(2)将extension_dir =改为你的php_gd2.dll所在目录;
三、图片添加可视水印功能的实现
添加可视水印功能的实现主要是利用了PHP5的imagealphablending()函数功能设定图像的混色模式。
说明:bool imagealphablending ( resource $image , bool $blendmode )[1]
imagealphablending() 允许在真彩色图像上使用两种不同的绘画模式。在混色(blending)模式下,alpha 通道色彩成分提供给所有的绘画函数,例如 imagesetpixel() 决定底层的颜色应在何种程度上被允许照射透过。作为结果,GD 自动将该点现有的颜色和画笔颜色混合,并将结果储存在图像中。结果的像素是不透明的。在非混色模式下,画笔颜色连同其 alpha 通道信息一起被拷贝,替换掉目标像素。混色模式在画调色板图像时不可用。如果 blendmode 为 TRUE,则启用混色模式,否则关闭。如果成功则返回 TRUE,失败则返回 FALSE。
Note: 本函数需要GD 2.0.1或更高版本(推荐2.0.28及更高版本)。
四、结束语
通过利用PHP5对GD库的支持和imagealphablending()函数功能我们实现了为图片添加可视水印,通过此方法在实际运用中不仅可以起到保护作品版权的作用,还可以把作者电话或者公司LOGO标志作为水印添加,起到加强宣传的作用。
参考文献:
[1]陈向辉著. 即用即查PHP函数参考手册 [M].北京:人民邮电出版社, 2008.
[2][澳]Hugh E.Williams, David Lane著, O'Reilly 译. Web Database Applications with PHP & MySQL, 2nd Edition [M].南京:东南大学出版社, 2006.
[3][美]Luke Welling Laura Thomson著,武欣 译. PHP and MySQL Web Development, Third Editio [M]. 北京:机械工业出版社,2005.
[4][美]Andi Gutmans;Derick Rethans著,简张桂译. PHP 5 Power Programming[M].北京:电子工业出版社,2007.
作者简介:
宗小忠,男,沙洲职业工学院现代教育技术中心讲师;蔡辉,男,沙洲职业工学院现代电子工程系助教。
[关键词]PHP 可视水印 GD库 imagealphablending( )
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0710127-01
一、引言
当前,计算机和互联网的飞速发展在许多方面改变了人们的生活。人们的很多生产的成果都以数字的形式存储和传输。基于计算机和网络的多媒体数字作品的使用、传播提供了极为便利的途径,多媒体信息的交流达到了前所未有的深度和广度,其发布形式愈加丰富了。人们可以通过Internet网发布自己的作品,传递重要信息,进行网络贸易等。但是与此同时其暴露出的安全问题也越来越严重:数字作品极易被非法拷贝和复制,使得很多版权所有者不愿意轻易公开其作品,这在相当程度上阻碍了其自身发展。目前,盗版已成为数字化产业最大的威胁。数字产品的版权保护问题迫在眉睫,如何既充分利用Internet网的便利,又能有效地保护知识产权,已受到人们的高度重视。
许多人希望能过加设密码来保护自己作品的版权,但是仅靠密码学并不能很好地解决这一问题。因为经加密后的数据变得“杂乱无章”,只有被授权持有解密密钥的人才可以存取数据,这样就无法向别人展示自己的作品,同时也容易引起攻击者的怀疑;而且数据一旦被解开,就完全置于解密人的控制之下,原创作者或版权所有者没办法追踪对其作品的复制或二次传播。在这种情况下,数字水印技术作为一种解决数字产品版权问题的有效手段得到了广泛关注,引起众多研究人员的兴趣,并逐渐成为了当今国际IT学术界的一个研究热点。
数字水印(Digital Watermark)技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。数字水印是信息隐藏技术的一个重要研究方向。
数字水印的分类方法有很多种,分类的出发点不同导致了分类的不同,它们之间是既有联系又有区别的。从外观上可将数字水印分为可视水印和不可视水印两类。如果嵌入的水印强度足够大,能够用肉眼直接观察到,则称之为可视水印。反之称之为不可视水印。相较于不可视水印,可视水印具有极大研究价值,因为对于可视水印来说,不存在水印的提取问题,因为水印是浮现在原始图像上的,不影响对原始图像作品的欣赏,起的是一种直观的版权信息告示。所以可视水印鲁棒性分析主要集中如何抵抗盗版者试图去掉水印而又不损害原图像方面。而含有不可视水印的数据通常与原始数据紧密结合在一起,难以用肉眼观察到。
对可视水印的使用应满足如下一些原则:(A)水印自适应地保持半透明,不可对原图像造成太大的视觉影响;(B)水印必须是不可或极难擦除的。
下面我就来介绍一个在PHP环境的新闻发布系统中下,如何给发布的图片添加可视水印的效果。
二、环境的构建
在PHP环境中实现水印功能,主要是利用子PHP5的支持GD库这一功能,在设计程序之前,首先要配置一下系统环境,具体步骤如下:
(1)将PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;号去掉。
(2)将extension_dir =改为你的php_gd2.dll所在目录;
三、图片添加可视水印功能的实现
添加可视水印功能的实现主要是利用了PHP5的imagealphablending()函数功能设定图像的混色模式。
说明:bool imagealphablending ( resource $image , bool $blendmode )[1]
imagealphablending() 允许在真彩色图像上使用两种不同的绘画模式。在混色(blending)模式下,alpha 通道色彩成分提供给所有的绘画函数,例如 imagesetpixel() 决定底层的颜色应在何种程度上被允许照射透过。作为结果,GD 自动将该点现有的颜色和画笔颜色混合,并将结果储存在图像中。结果的像素是不透明的。在非混色模式下,画笔颜色连同其 alpha 通道信息一起被拷贝,替换掉目标像素。混色模式在画调色板图像时不可用。如果 blendmode 为 TRUE,则启用混色模式,否则关闭。如果成功则返回 TRUE,失败则返回 FALSE。
Note: 本函数需要GD 2.0.1或更高版本(推荐2.0.28及更高版本)。
四、结束语
通过利用PHP5对GD库的支持和imagealphablending()函数功能我们实现了为图片添加可视水印,通过此方法在实际运用中不仅可以起到保护作品版权的作用,还可以把作者电话或者公司LOGO标志作为水印添加,起到加强宣传的作用。
参考文献:
[1]陈向辉著. 即用即查PHP函数参考手册 [M].北京:人民邮电出版社, 2008.
[2][澳]Hugh E.Williams, David Lane著, O'Reilly 译. Web Database Applications with PHP & MySQL, 2nd Edition [M].南京:东南大学出版社, 2006.
[3][美]Luke Welling Laura Thomson著,武欣 译. PHP and MySQL Web Development, Third Editio [M]. 北京:机械工业出版社,2005.
[4][美]Andi Gutmans;Derick Rethans著,简张桂译. PHP 5 Power Programming[M].北京:电子工业出版社,2007.
作者简介:
宗小忠,男,沙洲职业工学院现代教育技术中心讲师;蔡辉,男,沙洲职业工学院现代电子工程系助教。