【小编推荐】太原网站建设-php裁剪缩放等图片处理类

2016-03-03   |   发布者:梁国芳   |   查看:3320次

php

使用Think\Image类进行图像处理功能,支持Gd库和Imagick库,包括对GIf图像处理的支持。

实例化类库

  1. $image = new \Think\Image();

默认使用GD库进行图像操作,如果需要使用Imagick库操作的话,需要改成:

  1. $image = new \Think\Image(\Think\Image::IMAGE_IMAGICK);
  2. // 或者采用
  3. $image = new \Think\Image('Imagick');

图像操作

下面来看下基础的图像操作功能的使用方法。

打开图像文件

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

1

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

  1. $image = new \Think\Image();
  2. $image->open('./1.jpg');

也可以简化成下面的方式:

  1. $image = new \Think\Image(\Think\Image::IMAGE_GD,'./1.jpg'); // GD库
  2. // 或者
  3. $image = new \Think\Image(\Think\Image::IMAGE_IMAGICK,'./1.jpg'); // imagick库

获取图像信息

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

  1. $image = new \Think\Image();
  2. $image->open('./1.jpg');
  3. $width = $image->width(); // 返回图片的宽度
  4. $height = $image->height(); // 返回图片的高度
  5. $type = $image->type(); // 返回图片的类型
  6. $mime = $image->mime(); // 返回图片的mime类型
  7. $size = $image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度

裁剪图片

使用crop和save方法完成裁剪图片功能。

  1. $image = new \Think\Image();
  2. $image->open('./1.jpg');
  3. //将图片裁剪为400x400并保存为corp.jpg
  4. $image->crop(400, 400)->save('./crop.jpg');

生成的图片如图:

crop

支持从某个坐标开始裁剪,例如下面从(100,30)开始裁剪:

  1. $image = new \Think\Image();
  2. $image->open('./1.jpg');
  3. //将图片裁剪为400x400并保存为corp.jpg
  4. $image->crop(400, 400,100,30)->save('./crop.jpg');

生成的图片如图: