资讯专栏INFORMATION COLUMN

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

leoperfect / 1765人阅读

摘要:一安装拓展二上传文件为上传表单的名为上传表单的名并将上传的图片压缩成同时实现单图上传和多图上传多图上传单图上传三添加水印添加文字水印添加文字水印主要使用到方法方法参数说明可选定义第一个字符的基点。默认值可选定义第一个字符的基点。

一:安装intervention/image拓展

composer require intervention/image

二:上传文件

 InterventionImageImageManagerStatic::make($_FILES["file"]["tmp_name"])->save("upload.jpg");//file为上传表单的name名
InterventionImageImageManagerStatic::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) {
           InterventionImageImageManagerStatic::make($item)->save($key."upload.jpg");
       }
   } else {
       //单图上传
       InterventionImageImageManagerStatic::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/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31756.html

相关文章

  • Intervention/image 图片处理扩展包的安装和使用

    摘要:本文经授权转自社区说明是为定制的图片处理工具它提供了一套易于表达的方式来创建编辑图片。 本文经授权转自 PHPHub 社区 说明 Intervention/image 是为 Laravel 定制的图片处理工具, 它提供了一套易于表达的方式来创建、编辑图片。 本文章由 The EST Group 成员 @monkey 撰写, 首发地为 PHPHub 社区. Demo 代码请见:https...

    princekin 评论0 收藏0
  • intervention/image 中的一个小坑及其破解之法

    摘要:不过最近无意间发现了一个小坑。写完之后一运行,发现相当慢,平均耗时秒左右。起初以为是因为合成过程中进行的操作比较多尺寸比较大,本来就应该是这个速度。这一通折腾下来,发现真相竟然与合成操作的多少尺寸没有多大关系。 事实上 intervention/iamge 用了很有些时日了,它的 api 设计得很简洁,文档也很全面,用起来相当顺手。 不过最近无意间发现了一个小坑。因为需要合成带微信头像...

    wangzy2019 评论0 收藏0
  • php curl 优化下载微信头像

    摘要:做过微信网页开发的同学肯定遇到过这样的需求,基于一张背景图生成用户推广海报,上面需要有推广二维码用户头像用户名称等等。 做过微信网页开发的同学肯定遇到过这样的需求,基于一张背景图生成用户推广海报,上面需要有推广二维码、用户头像、用户名称等等。本来应该是一个很普通的需求,使用php的gd库就很容易合成,但是最近在生成这样海报的时候,发现时间长达19s,最后发现问题卡在远程拉去微信头像上,...

    ZweiZhao 评论0 收藏0
  • laravel开发扩展记录

    摘要:自动代码扩展开发时遵守的代码风格是项目开发规范。遵照此规范,在实际操作中,有许多重复,接下来推荐一款专为此规范量身定制的代码生成器。可以利用此扩展来快速构建项目原型。后续还会为大家带来一些最新的技术扩展。 whoops 错误提示扩展 whoops 是一个非常优秀的 PHP Debug 扩展,它能够使你在开发中快速定位出错的位置。laravel默认安装。showImg(https://s...

    fancyLuo 评论0 收藏0
  • laravel开发扩展记录

    摘要:自动代码扩展开发时遵守的代码风格是项目开发规范。遵照此规范,在实际操作中,有许多重复,接下来推荐一款专为此规范量身定制的代码生成器。可以利用此扩展来快速构建项目原型。后续还会为大家带来一些最新的技术扩展。 whoops 错误提示扩展 whoops 是一个非常优秀的 PHP Debug 扩展,它能够使你在开发中快速定位出错的位置。laravel默认安装。showImg(https://s...

    魏宪会 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<