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

商城建设· 2021-03-26 阅读:65

为了保护平台资源的版权,同时也为了彰显平台的专业性,很多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商城系统,有疑问的可以在文章底部留言我们哦

安菲云公众号

文章来源: http://m.cqanfei.com/news/shangchengjianshe/20210326/1256.html
文章来源: http://m.cqanfei.com/news/shangchengjianshe/20210326/1256.html

声明:安菲科技文章如需转载请注明原创来源。本站部分文章和图片来源网络编辑,如存在版权问题请及时沟通处理。文章观点仅代表作者本人,不代表安菲科技立场。

安菲科技

安菲科技www.cqanfei.com多用户商城系统是一款可以满足B2B2C、S2B2C、B2B、O2O、B2C等多种电商模式的新零售商城系统,覆盖PC端+微商城+小程序+APP,将多端数据打通并同步,并且基于社交电商的用户优势,实现多场景营销,打造一个真正的生态化电商平台。

最新文章