本文介绍下,在织梦dedecms中,png图片做的水印无法实现透明显示的解决方法,有需要的朋友参考下。
本节内容:织梦dedecms水印png透明显示。
解决方法,如下:
在 include/inc_photograph.php 找到 ImgWaterMark 函数
代码示例:
//读取水印图片
if(!emptyempty($w_img) && file_exists($w_img)){
$ifWaterImage = 1;
$info = '';
$water_info = getimagesize($w_img,$info);
$width = $water_info[0];
$height = $water_info[1];
switch($water_info[2]){
case 1 :
if(!function_exists("imagecreatefromgif")) return;
$water_img = imagecreatefromgif($w_img);
break;
case 2 :
if(!function_exists("imagecreatefromjpeg")) return;
$water_img = imagecreatefromjpeg($w_img);
break;
case 3 :
if(!function_exists("imagecreatefrompng")) return;
$water_img = imagecreatefrompng($w_img);
break;
case 6 :
if(!function_exists("imagecreatefromwbmp")) return;
$srcFile_img = imagecreatefromwbmp($w_img);
break;
default :
return;
}
找到 $water_img = imagecreatefrompng($w_img); 将这行修改为:
代码示例:
if(!function_exists("imagecreatefrompng")) return;
//经过修改的加水印代码 080818 neo
$water_im_bak = imagecreatefrompng($w_img);
$water_img = imagecreatetruecolor($width,$height);
imagealphablending($water_img,false);
imageSaveAlpha($water_img,true);
$white = ImageColorAllocate($water_img, 255,255,255);
ImageColorTransparent($water_img,$white);
imagecopyresampled($water_img,$water_im_bak,0,0,0,0,$width,$height,$width,$height);
//$water_img = imagecreatefrompng($w_img);
如此,就解决了png水印不能透明显示的问题,大家可以试下。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。