西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > dedecms教程 >

解决dedecms中水印png无法透明的问题

时间:2018-01-19 10:01来源:未知 作者:好模板编辑 点击:
本文介绍下,在织梦dedecms中,png图片做的水印无法实现透明显示的解决方法,有需要的朋友参考下。 本节内容:织梦dedecms水印png透明显示。 解决方法,如下: 在 include/inc_photograph.p
本文介绍下,在织梦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水印不能透明显示的问题,大家可以试下。
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容