织梦后台图片水印使用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; //经过修改的加水印代码 $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水印不能透明显示的问题,有兴趣的朋友就可以动手尝试看看。
以上就是织梦模板小白讲堂三十一:织梦dedecms中png水印不透明怎么办的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答