php图片水印处理

在上周的工作中,第一次接触和了解php对图像的相关处理。php在图像的处理中主要依赖于GD拓展,其主要的操作方法可以参考php手册,链接:GD 和图像处理。我回顾了此次工作中的功能开发,封装了一个图像处理的相关类库。

Image类库

  • 主体功能:图片合成,水印处理等
  • author: Javion
  • email:535090976@qq.com

1、使用场景

  • 图片合成
  • 文字水印

2、配置说明(默认配置如下)

$config = [

 /**
  * 水印字体(默认字体不支持中文,请按需配置需要的字体)
  */
 'font'       => __DIR__ . '/font.ttf',

 /**
  * 水印位置(1~9,9宫格位置,其他为随机)
 */
 'pos'        => 9,

 /**
  * 相对pos的x偏移量
  */
 'posX'       => 0,

 /**
  * 相对pos的y偏移量
  */
 'posY'       => 0,

 /*
  * 水印透明度
  * 填写0~100间的数字,100为不透明
 */
 'opacity'        => 100,

 /**
  * 透明度参数 alpha,其值从 0 到 127。0 表示完全不透明,127 表示完全透明
  */
 'alpha'         => 0,

 /*
  * 默认水印文字
  */
 'text'       => 'Javion',

 /*
  * 文字颜色 颜色使用16进制表示
 */
 'textColor' => '#FF4040',

 /*
  * 文字大小
  */
 'textSize'  => 12,
 
 ];
 

3、方法说明

类初始化

  • __construct($image, array $config = [])
参数是否必传
image原图片路径
config配置数组,根据业务自定义配置,无则为默认值

往原图添加水印图片

  • waterImg($waterImg, $pos, $opacity = 0, $posX = 0, $posY = 0)
参数是否必传
waterImg水印图片路径
pos水印位置
opacity透明度
posX位置x偏移量
posY位置y偏移量

往原图添加水印文字

  • waterText($text, $pos = 0, $textColor = '', $textSize = 0, $alpha = 0, $posX = 0, $posY = 0)
参数是否必传
text水印文字
pos水印位置
textColor颜色
textSize文字size
alpha透明度
posX位置x偏移量
posY位置y偏移量

设置水印文字类型文件

  • setFont($font)
参数是否必传
font文字字体文件路径

输出图片(类型为png)

  • save($outImg, $name = 'out')
参数是否必传
outImg输出图片路径是,例子:项目路径/runtime/
name输出图片名称否,默认out

销毁图片资源,释放内存(save方法会默认调用,若无调用save方法,则要手动调用)

  • destroy() 无参数

4、使用

$a = __DIR__ . '/Javion.png';

$image = new Watermark($a);

b = __DIR__ . '/';

$c = __DIR__ . '/water.png';

$image->waterText('zzwtestd', 8)->waterImg($c, 2, 50)->save($b);

5、安装使用

composer require javion/image

github地址:https://github.com/slumzzw/Image
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值