预约成功!专门的客服稍后会与您联系

商城演示预约

多商戶商城系統如何給上傳的圖片添加水印

2020-06-03 17:04:39 919

Classification:财务管理

商淘的多商戶商城系統給上傳的圖片添加水印是通過TP5自帶的添加水印的方法。其流程也是放在上傳圖片的方法中,根據前臺傳遞的參數“是否需要添加水印”來執行。

現在在多商戶商城系統裏,給上傳的商品圖片加上專屬水印是一件非常常見的事情,那麽在商淘的多商戶商城系統裏,要如何實現給上傳的圖片添加上水印的呢?接下來就一起來看看吧。

在商淘的多商戶商城系統給上傳的圖片添加水印是通過TP5自帶的添加水印的方法。其流程也是放在上傳圖片的方法中,根據前臺傳遞的參數“是否需要添加水印”來執行。

管理員可以在商淘多商戶商城系統的後臺裏,“平臺”-“系統管理”-“平臺配置”中的“圖片設置”來設置水印相關的參數。具體如下圖所示:


示例代碼:

/*****************************添加水印***********************************/

if((int)WSTConf('CONF.watermarkPosition')!==0){
    //取出水印配置
    $wmWord = WSTConf('CONF.watermarkWord');//文字
    $wmFile = trim(WSTConf('CONF.watermarkFile'),'/');//水印文件
    //判斷水印文件是否存在
    if(!file_exists(WSTRootPath()."/".$wmFile))$wmFile = '';
    $wmPosition = (int)WSTConf('CONF.watermarkPosition');//水印位置
    $wmSize = ((int)WSTConf('CONF.watermarkSize')!=0)?WSTConf('CONF.watermarkSize'):'20';//大小
    $wmColor = (WSTConf('CONF.watermarkColor')!='')?WSTConf('CONF.watermarkColor'):'#000000';//顏色必須是16進制的
    $wmOpacity = ((int)WSTConf('CONF.watermarkOpacity')!=0)?WSTConf('CONF.watermarkOpacity'):'100';//水印透明度
    //是否有自定義字體文件
    $customTtf = Env::get('root_path').WSTConf('CONF.watermarkTtf');
    $ttf = is_file($customTtf)?$customTtf:Env::get('extend_path').'verify/verify/ttfs/3.ttf';
    $image = \image\Image::open($imageSrc);
    if(!empty($wmWord)){//當設置了文字水印 就一定會執行文字水印,不管是否設置了文件水印
        //文字偏移量
        $offset = WSTConf('CONF.watermarkOffset');
        if($offset!=''){
            $offset = explode(',',str_replace(',', ',',$offset));
            $offset = array_slice($offset,0,2);
            $offset = array_map(function($val){return (int)$val;},$offset);
            if(count($offset)<2)array_push($offset, 0);
        }
        //執行文字水印
        $image->text($wmWord, $ttf, $wmSize, $wmColor, $wmPosition,$offset)->save($imageSrc);
        //如果有生成手機版原圖
        if(!empty($mSrc)){
            $image = \image\Image::open($imageSrc);
            $image->thumb($mWidth, $mHeight)->save($mSrc,$image->type(),90);
        }
    }elseif(!empty($wmFile)){//設置了文件水印,並且沒有設置文字水印
        //執行圖片水印
        $image->water($wmFile, $wmPosition, $wmOpacity)->save($imageSrc);
        //如果有生成手機版原圖
        if($mSrc!==null){
            $image = \image\Image::open($imageSrc);
            $image->thumb($mWidth, $mHeight)->save($mSrc,$image->type(),90);
        }
    }
}

未来企业
都将是数字化的企业

商淘云微信客服
扫码添加好友
商淘云官方公众号
扫码关注我们