图片处理,缩略图、打水印
打开一张图片
方式一,在初始化的时候打开
use Timo\Image;
use Timo\Loader;
$image_file = Loader::getFilePath('static::images/timophp.jpg');
$Image = new Image($image_file);
方式二,调用open方法打开
这种方式,可以打开多个
use Timo\Image;
use Timo\Loader;
$image_file = Loader::getFilePath('static::images/timophp.jpg');
$Image = new Image();
$Image->open($image_file);
$Image->open($image_file2);
$Image->open($image_file3);
裁剪图像
方法:crop($w, $h, $x = 0, $y = 0, $width = null, $height = null)
参数:
/**
* @param int $w 裁剪区域宽度
* @param int $h 裁剪区域高度
* @param int $x 裁剪区域x坐标
* @param int $y 裁剪区域y坐标
* @param int $width 图像保存宽度
* @param int $height 图像保存高度
*/
use Timo\Image;
use Timo\Loader;
$image_file = Loader::getFilePath('static::images/timophp.jpg');
$save_file = Loader::getFilePath('static::images/timophp_save.jpg');
$Image = new Image($image_file);
$Image->crop(600, 800, 10, 10);
$Image->save($save_file);
保存图片
方法:save($image, $type = null, $quality = 80, $interlace = true)
参数:
/**
* @param string $image 图像保存名称
* @param string $type 图像类型
* @param int $quality 图像质量
* @param bool $interlace 是否对JPEG类型图像设置隔行扫描
* @throws \Exception
*/
生成缩略图
方法:thumb($width, $height, $type = Image::IMAGE_THUMB_SCALE)
参数:
/**
* @param integer $width 缩略图最大宽度
* @param integer $height 缩略图最大高度
* @param integer $type 缩略图裁剪类型
*/
use Timo\Image;
use Timo\Loader;
$image_file = Loader::getFilePath('static::images/timophp.jpg');
$thumb_file = Loader::getFilePath('static::images/timophp_thumb.jpg');
$Image = new Image($image_file);
$Image->thumb(120, 240);
$Image->save($thumb_file);
打水印
方法:water($locate = Image::IMAGE_WATER_SOUTHEAST, $alpha = 80, $des_water = true)
参数:
/**
* @param int $locate 水印位置,默认是右下角
* @param int $alpha 水印图片透明度
* @param bool $des_water 打了之后是否销毁水印图片资源
* @return bool
*/
use Timo\Image;
use Timo\Loader;
$image_file = Loader::getFilePath('static::images/timophp.jpg');
$water_file = Loader::getFilePath('static::images/water.jpg');
$Image = new Image($image_file);
$Image->setWaterImage($water_file);
$Image->water();
$Image->save($image_file);