包 | helper |
---|---|
类层次 | class Helper_ImageGD |
版本 | $Id: image.php 1937 2009-01-05 19:09:40Z dualface $ |
Helper_ImageGD 类封装了一个 gd 句柄,用于对图像进行操作
方法 | 描述 | 定义于 |
---|---|---|
__construct() | 构造函数 | Helper_ImageGD |
__destruct() | 析构函数 | Helper_ImageGD |
resize() | 快速缩放图像到指定大小(质量较差) | Helper_ImageGD |
resampled() | 缩放图像到指定大小(质量较好,速度比 resize() 慢) | Helper_ImageGD |
resizeCanvas() | 调整图像大小,但不进行缩放操作 | Helper_ImageGD |
crop() | 在保持图像长宽比的情况下将图像裁减到指定大小 | Helper_ImageGD |
saveAsJpeg() | 保存为 JPEG 文件 | Helper_ImageGD |
saveAsPng() | 保存为 PNG 文件 | Helper_ImageGD |
saveAsGif() | 保存为 GIF 文件 | Helper_ImageGD |
destroy() | 销毁内存中的图像 | Helper_ImageGD |
public void __construct($handle)
$handle | resource | GD 资源句柄 |
{return} |
构造函数
public void __destruct()
析构函数
public Helper_ImageGD resize($width, $height)
$width | int | 新的宽度 |
$height | int | 新的高度 |
{return} | Helper_ImageGD | 返回 Helper_ImageGD 对象本身,实现连贯接口 |
快速缩放图像到指定大小(质量较差)
public Helper_ImageGD resampled($width, $height)
$width | int | 新的宽度 |
$height | int | 新的高度 |
{return} | Helper_ImageGD | 返回 Helper_ImageGD 对象本身,实现连贯接口 |
缩放图像到指定大小(质量较好,速度比 resize() 慢)
public Helper_ImageGD resizeCanvas($width, $height, $pos, $bgcolor)
$width | int | 新的高度 |
$height | int | 新的宽度 |
$pos | string | 调整时图像位置的变化 |
$bgcolor | string | 空白部分的默认颜色 |
{return} | Helper_ImageGD | 返回 Helper_ImageGD 对象本身,实现连贯接口 |
调整图像大小,但不进行缩放操作
用法:
$image->resizeCanvas($width, $height, 'top-left');
$pos 参数指定了调整图像大小时,图像内容按照什么位置对齐。 $pos 参数的可用值有:
如果指定了无效的 $pos 参数,则等同于指定 center。
public Helper_ImageGD crop($width, $height, $options)
$width | int | 新的宽度 |
$height | int | 新的高度 |
$options | array | 裁减选项 |
{return} | Helper_ImageGD | 返回 Helper_ImageGD 对象本身,实现连贯接口 |
在保持图像长宽比的情况下将图像裁减到指定大小
crop() 在缩放图像时,可以保持图像的长宽比,从而保证图像不会拉高或压扁。
crop() 默认情况下会按照 $width 和 $height 参数计算出最大缩放比例, 保持裁减后的图像能够最大程度的充满图片。
例如源图的大小是 800 x 600,而指定的 $width 和 $height 是 200 和 100。 那么源图会被首先缩小为 200 x 150 尺寸,然后裁减掉多余的 50 像素高度。
用法:
$image->crop($width, $height);
如果希望最终生成图片始终包含完整图像内容,那么应该指定 $options 参数。 该参数可用值有:
其中 $options['pos'] 参数的可用值有:
如果指定了无效的 $pos 参数,则等同于指定 center。
$options 中的每一个选项都可以单独指定,例如在允许裁减的情况下将图像放到新图片的右下角。
$image->crop($width, $height, array('pos' => 'right-bottom'));
public Helper_ImageGD saveAsJpeg($filename, $quality)
$filename | string | 保存文件名 |
$quality | int | 品质参数,默认为 80 |
{return} | Helper_ImageGD | 返回 Helper_ImageGD 对象本身,实现连贯接口 |
保存为 JPEG 文件
public Helper_ImageGD saveAsPng($filename)
$filename | string | 保存文件名 |
{return} | Helper_ImageGD | 返回 Helper_ImageGD 对象本身,实现连贯接口 |
保存为 PNG 文件
public Helper_ImageGD saveAsGif($filename)
$filename | string | 保存文件名 |
{return} | Helper_ImageGD | 返回 Helper_ImageGD 对象本身,实现连贯接口 |
保存为 GIF 文件
public Helper_ImageGD destroy()
销毁内存中的图像