icarexm/image

the new excel extend

dev-master 2020-05-26 14:15 UTC

This package is auto-updated.

Last update: 2024-04-26 23:27:54 UTC


README

使用Composer安装icarexm的文件处理类库:

composer require icarexm/image:dev-master

生成缩略图

下面来看下缩略图操作类的基础方法。

打开图像文件

假设当前入口文件目录下面有一个image.png文件,如图所示:

使用open方法打开图像文件进行相关操作:

$thumb = icarexm\image\Thumb::open('image.png', ROOT_PATH);

获取图像信息

可以获取打开图片的信息,包括图像大小、类型等,例如:

$thumb = icarexm\image\Thumb::open('image.png', ROOT_PATH);

echo 'width:'.$thumb->getOriginalw().'<br/>';
echo 'height:'.$thumb->getOriginalh().'<br/>';
echo 'type:'.$thumb->getSourceType().'<br/>';
echo 'size:'.$thumb->getOriginalSize().'kb<br/>';
echo 'mime:'.$thumb->getSourceMime().'<br/>';

裁剪图片

使用cropsave方法完成裁剪图片功能。

$thumb =  icarexm\image\Thumb::open('image.png', ROOT_PATH);
//将图片裁剪为180x180并保存为image.thumb.png
$thumb->crop(180, 180)->save();
//获取相对路径
echo $thumb->getSrcname();
//获取完整路径
echo $thumb->getPathname();

生成的图片如图:

等比例缩放

使用scalesave方法完成图片等比例缩放功能。

$thumb =  icarexm\image\Thumb::open('image.png', ROOT_PATH);
//将图片以%50等比例缩放并保存为image.thumb.png
$thumb->scale(50)->save();
//获取相对路径
echo $thumb->getSrcname();
//获取完整路径
echo $thumb->getPathname();

生成的图片如图:

添加图片水印

系统支持添加图片及文字水印,下面依次举例说明
添加图片水印,我们下载框架logo文件到根目录进行举例:

$water = icarexm\image\Water::open('image.png', ROOT_PATH);
// 给原图中间添加水印并保存image.water.png
$water->water('logo.png', icarexm\image\Water::WATER_CENTER)->save(); 
//获取相对路径
echo $water->getSrcname();
//获取完整路径
echo $water->getPathname();

生成的图片效果如下:

water方法的第二个参数表示水印的位置,默认值是WATER_SOUTH,可以传入下列icarexm\image\Water类的常量或者对应的数字:

//常量,标识左上角水印
const WATER_NORTHWEST = 1; 
//常量,标识上居中水印
const WATER_NORTH     = 2; 
//常量,标识右上角水印
const WATER_NORTHEAST = 3; 
//常量,标识左居中水印
const WATER_WEST      = 4; 
//常量,标识居中水印
const WATER_CENTER    = 5; 
//常量,标识右居中水印
const WATER_EAST      = 6; 
//常量,标识左下角水印
const WATER_SOUTHWEST = 7; 
//常量,标识下居中水印
const WATER_SOUTH     = 8; 
//常量,标识右下角水印
const WATER_SOUTHEAST = 9; 

添加文字水印

系统支持添加图片及文字水印,下面依次举例说明
添加图片水印,我们下载框架logo文件到根目录进行举例:

$water = icarexm\image\Water::open('image.png', ROOT_PATH);
// 给原图中间添加文字水印并保存image.water.png
$water->text('TinyFrame', 18, '#00000000', icarexm\image\Water::WATER_CENTER)->save();
//获取相对路径
echo $water->getSrcname();
//获取完整路径
echo $water->getPathname();

生成的图片效果如下: