欢迎来到 商淘云

商淘云商城系统演示网址

平台演示 演示地址 账号密码
B2B2C多用户商城系统 http://test.wstmart.net/ 联系客服
多语言商城系统 http://dyy.wstmart.net/ 联系客服
订单管理系统 https://b2b.hehuobao.net/admin 联系客服
订货管理系统 https://b2b.hehuobao.net/admin 联系客服
O2O商城系统 http://test.wstmall.net 联系客服
B2C管理系统 http://test.wstshop.net 联系客服
  • 安卓APP(用浏览器打开)

  • 苹果APP

  • 小程序商城

  • 微信商城

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

2020-02-13 21:49:18 2821

分类:商城建设

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

商淘云公众号

发表评论

昵称:

评论列表 (0)

New最新资讯

扫描二维码

添加客服咨询详情

添加微信立即咨询

咨询热线:15918671994

—— 专业电商系统及解决方案提供服务商 ——

多用户
商城系统

订单
管理系统

订货
管理系统

多语言
商城系统