b2b2c商城系统如何给上传的图片添加水印

2021-03-26

分类:商城建设

为了保护平台资源的版权,同时也为了彰显平台的专业性,很多b2b2c商城系统设计了图片上传的时候将图片自动添加水印。安菲云给您分享b2b2c商城系统如何给上传的图片添加水印。

为了保护平台资源的版权,同时也为了彰显平台的专业性,很多b2b2c商城系统设计了图片上传的时候将图片自动添加水印。那这些图片水印,在b2b2c商城系统开发过程中是怎么实现的呢?

今天安菲云给您分享b2b2c商城系统如何给上传的图片添加水印。

以行业内做得比较好的安菲开源b2b2c商城系统为例,给上传的图片添加水印是通过thinkphp 5.1自带的添加水印的方法。其流程也是放在上传图片的方法中,根据前台传递的参数“是否需要添加水印”来执行。

在“平台”-“系统管理”-“平台配置”中的“图片设置”来设置水印相关的参数。

b2b2c商城系统水印设置

示例代码:

/***************************** 添加水印 ***********************************/
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);
        }
    }
}

 

以上是安菲云为大家分享的b2b2c商城系统自动添加水印的方法,代码大家可以点击下载开源B2B2C商城系统,有疑问的可以在文章底部留言我们哦

安菲云公众号

New最新资讯

公众号

关注公众号

微信咨询

企业微信号

咨询热线

咨询热线

18696588163