iry/image
Composer 安装命令:
composer require iry/image
包简介
php image process. PHP图片快捷处理
README 文档
README
示例
use iry\image\Image; $waterMark = '/img/watermark.png'; //mage::setLib('Gd/ImageMagick');//可选 默认自动检测 //得到对象的示例 $img = Image::src('/img/test-img.jpg'); //也可以直接 new Gd('file'); 或者 new ImageMagick('file'); //重置图片尺寸 $img->resize(800,800); //添加水印 lt左上,rt:右上 ,l:左中,t:上中.... lt/rt/lb/rb/l/r/t/b/c | [x,y] $img->watermark($waterMark,'c')->watermark($waterMark,'lt',60,60)->watermark($waterMark,'rb',120,120); //添加文本 //$img->addText('text2',14); //图片旋转90度 $img->rotate(90); //拉伸 $img->stretch(500,500,true); //保存结果 $r = $img->save('{file_dir}/test.dist.jpg'); //添加文字 $img->addText('left & top 左上',20,'lt','....' ) ->addText('right & bottom 右下',20,'rb',$font ); //支持连贯写法 //$img->resize(800,800)->rotate(90)->watermark('....')->....->save('保存');
方法说明
getSize 获取图片尺寸
静态方法
@param: 文件路径
@return: [宽,高]
getImageInfo 获取图片信息
// 静态方法 Image::getImageInfo($file); //@return [ "width" =>'宽', "height" =>'高', "type" =>'文件类型', "suf"=>'文件后缀', "size" =>'文件大小', "mime" =>'mime' ];
缩放 resize
/** * resize * @param int $width 宽 * @param int $height 高 * @return $this */ Image::src('file')->resize(400,500);
裁剪图片 crop
/** * 坐标 * @param int $x x 坐标 支持"数字"和"*%" * @param int $y y 坐标 支持"数字"和"*%" * ---------- * 尺寸 * @param int $w WIDTH/裁剪后的宽 支持"数字"和"*%" * @param int $h HEIGHT/裁剪后的高 支持"数字"和"*%" * * @return $this */ Image::src('file')->crop(0,0,400,500);
旋转图片 rotate
/**
* 旋转图片
* @param int $angle 旋转角度
* @param int $bgColor 旋转后空余背景 可选
*/
Image::src('file')->rotate(30);
Image::src('file')->rotate(30,'#ffffff')->rotate(60);
添加文字(水印) addText
/** * @param string $text 写入文字 * @param $textSize GD1为像素 GD2 单位为磅(pound) * @param string|[] $position 写入文字起点坐标或者位置 * 位置: lt/rt/lb/rb/t/b/l/r/c (lt leftTop 左上) (t : 上中) 坐标:[x,y] * @param $fontFile 字体文件 * @param string $color * @return $this */ Image::src('file.jpg')->addText($text,12,'lt',$fontFile)
$fontFile 字体文件:使用绝对路径
需要自己去下载、也可以从的 Windows、Mac、Linux字体安装目录拷贝字体到你的项目中
windows(C:\Windows\Fonts)、Mac(/System/Library/Fonts)
注:部分字体可能需要商用授权(请自行联系字体发布方)
常见字体下载:
Han Serif 下载地址
Han Serif 简体中文
图片水印 watermark
/** * @param string $watermarkFile * @param string $position lb/lt/rb/rt/l/r/t/b/c * l:left, r:right , t:top ,b:bottom , c:Center * * 强制水印的大小 * @param int|string $width 水印缩放至多宽? 默认100%(水印的实际大小) * @param int|string $height 水印缩放至多高? 默认100%(水印的实际大小) * * @return ImageMagick */ Image::src('file.jpg')->watermark('/watermark.png','rb');//位置:右下角 Image::src('file.jpg')->watermark('/watermark.png','c', 60,60); //位置:中心 水印大小,强制等比缩放到60x60
保存图片:save
/** * 保存 * @param string $dest 目标路径 * @param bool $rmSrc 是否移除原图 可选 默认:false * @return string|false filename|false */ Image::src('file')->resize(400,500)->save('test.png',true); //save 方法第一个参数 可以使用变量 Image::src('file')->resize(400,500)->save('{file_dir}/test_result.{file_ext}');
save方法第一个参数(目标文件)可以使用以下变量
- {file_dir}: 原文件所在的目录,
- {file_ext}: 原文件扩展名称,
- {file_name}: 原文件名称(不包含后缀),
- {file_full_name}: 原文件名称
快捷方
iry/image 适用场景与选型建议
iry/image 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 49 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 08 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「image」 「thumbnail」 「ImageMagick」 「resize」 「gd」 「imagick」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 iry/image 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 iry/image 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 iry/image 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Imagemagick wrapper for Symfony
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
Stand-alone zoomify tile generator (format Zoomify) for use with OpenSeadragon, OpenLayers and various viewers.
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
A PHP library for fetching thumbnails from a URL
The Yii2 extension uses jQuery PrettyPhoto and OwlCarousel js and makes image galary from php array of structure defined.
统计信息
- 总下载量: 49
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-08-23