Yii 使用intervention/image拓展实现图像处理功能

 更新时间:2019年06月22日 10:47:23   作者:huaweichenai  
这篇文章主要介绍了Yii 使用intervention/image拓展实现图像处理功能,需要的朋友可以参考下

一:安装intervention/image拓展

composer require intervention/image

二:上传文件

\Intervention\Image\ImageManagerStatic::make($_FILES['file']['tmp_name'])->save('upload.jpg');//file为上传表单的name名
\Intervention\Image\ImageManagerStatic::make($_FILES['file']['tmp_name'])->resize(300, 200)->save('upload.jpg');//file为上传表单的name名,并将上传的图片压缩成300,200

同时实现单图上传和多图上传

if ($_FILES['file']) {
  $image = $_FILES['file']['tmp_name'];
  if (is_array($image)) {
    //多图上传
    foreach ($image as $key => $item) {
      \Intervention\Image\ImageManagerStatic::make($item)->save($key.'upload.jpg');
    }
  } else {
    //单图上传
    \Intervention\Image\ImageManagerStatic::make($image)->save('upload.jpg');
  }
}

三:添加水印

1:添加文字水印

添加文字水印主要使用到text方法

text方法参数说明

x(可选)

x定义第一个字符的基点。默认值:0

y(可选)

y定义第一个字符的基点。默认值:0

callback(可选)

关闭字体对象的回调,回调可配置:

(1)file:配置水印字体
(2)size:配置水印大小
(3)color:配置水印颜色
(4)align:配置水印水平对齐方式
(5)valign:配置是垂直对齐方式
(6)angle:配置水印旋转角度
例:

//水印
ImageManagerStatic::make('upload.jpg')->text('水印文字',20,30,function($font){
  //配置水印字体
  $font->file(\Yii::getAlias('@webroot') . '/simsun.ttc');
  //配置水印大小
  $font->size(30);
  //配置水印颜色
  $font->color('#fff');
  //配置水印水平居左( left, right and center)
  $font->align('left');
  //配置水印垂直居下(top, bottom and middle)
  $font->valign('bottom');
  //配置水印旋转角度
  $font->angle(45);
})->save('uploadWater.jpg');

2:添加图片水印

添加图片水印主要使用到insert方法

insert方法参数说明:

source:水印图片地址

position:设置插入图像的位置,参数可配置项为:

(1)top-left (default)
(2)top
(3)top-right
(4)left
(5)center
(6)right
(7)bottom-left
(8)bottom
(9)bottom-right

x:水平偏移量,默认0

y:垂直偏移量,默认0

例:

ImageManagerStatic::make('upload.jpg')->insert('water.jpg','bottom-left',10,10)->save('uploadWater.jpg');

这里是intervention/image拓展的一些基本操作,详细可以参考: http://image.intervention.io/

总结

以上所述是小编给大家介绍的Yii 使用intervention/image拓展实现图像处理功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • 上传多个文件的PHP脚本

    上传多个文件的PHP脚本

    上传多个文件的PHP脚本...
    2006-11-11
  • 修改PHP的memory_limit限制的方法分享

    修改PHP的memory_limit限制的方法分享

    在运行PHP程序,通常会遇到“Fatal Error: Allowed memory size of xxxxxx bytes exhausted”的错误, 这个意味着PHP脚本使用了过多的内存,并超出了系统对其设置的允许最大内存
    2012-02-02
  • php google或baidu分页代码

    php google或baidu分页代码

    php实现google与baidu的分页代码,需要的朋友可以参考下。
    2009-11-11
  • PHP中substr函数字符串截取用法分析

    PHP中substr函数字符串截取用法分析

    这篇文章主要介绍了PHP中substr函数字符串截取用法,结合实例形式分析说明的PHP中substr函数的功能,定义与具体使用技巧,需要的朋友可以参考下
    2016-01-01
  • php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

    php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比

    这篇文章主要介绍了php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比,需要的朋友可以参考下
    2015-04-04
  • php格式化日期实例分析

    php格式化日期实例分析

    这篇文章主要介绍了php格式化日期的方法,通过一个自定义函数以实例形式简单分析了将日期格式化输出的方法,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • php 文章采集正则代码

    php 文章采集正则代码

    php 文章采集代码主要是应用了正则表达式。
    2009-12-12
  • PHP实现的简单适配器模式示例

    PHP实现的简单适配器模式示例

    这篇文章主要介绍了PHP实现的简单适配器模式,结合具体实例形式分析了php适配器模式的实现技巧与调用方法,需要的朋友可以参考下
    2017-06-06
  • php实现有趣的人品测试程序实例

    php实现有趣的人品测试程序实例

    这篇文章主要介绍了php实现有趣的人品测试程序,涉及php针对字符串的转换操作技巧,需要的朋友可以参考下
    2015-06-06
  • PHP详细彻底学习Smarty

    PHP详细彻底学习Smarty

    Smarty是一个php模板引擎,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法. Smarty要求web服务器运行php4.0.6和以上版本. smarty安装需要smarty库文件。可以去官方网站http://smarty.php.net下载。 网上讲了很多安装的教程,但是我都没有成功,所以直接把整个目录名改为smarty直接复制到了网站所在的目录下,然后打开http://网站路径/smarty/demo/index.php,显示正常,应该算是安装成功了。
    2008-03-03

最新评论