包 core

包 mvc

包 orm

包 form

包 database

包 helper

包 cache

包 webcontrols

包 behavior

包 exception

包 debug

类 - Helper_ImageGD

helper
类层次 class Helper_ImageGD
版本 $Id: image.php 1937 2009-01-05 19:09:40Z dualface $

Helper_ImageGD 类封装了一个 gd 句柄,用于对图像进行操作

保护的属性

隐藏继承的属性

属性类型描述定义于
$_handle resource GD 资源句柄 Helper_ImageGD

公共方法

隐藏继承的方法

方法描述定义于
__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

属性详细说明

$_handle 属性

GD 资源句柄

方法详细说明

__construct() 方法

public void __construct($handle)

$handle resource GD 资源句柄
{return}

构造函数


__destruct() 方法

public void __destruct()

析构函数


resize() 方法

public Helper_ImageGD resize($width, $height)

$width int 新的宽度
$height int 新的高度
{return} Helper_ImageGD 返回 Helper_ImageGD 对象本身,实现连贯接口

快速缩放图像到指定大小(质量较差)


resampled() 方法

public Helper_ImageGD resampled($width, $height)

$width int 新的宽度
$height int 新的高度
{return} Helper_ImageGD 返回 Helper_ImageGD 对象本身,实现连贯接口

缩放图像到指定大小(质量较好,速度比 resize() 慢)


resizeCanvas() 方法

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 参数的可用值有:

  • left: 左对齐
  • right: 右对齐
  • center: 中心对齐
  • top: 顶部对齐
  • bottom: 底部对齐
  • top-left, left-top: 左上角对齐
  • top-right, right-top: 右上角对齐
  • bottom-left, left-bottom: 左下角对齐
  • bottom-right, right-bottom: 右下角对齐

如果指定了无效的 $pos 参数,则等同于指定 center。


crop() 方法

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 参数。 该参数可用值有:

  • fullimage: 是否保持完整图像
  • pos: 缩放时的对齐方式
  • bgcolor: 缩放时多余部分的背景色
  • enlarge: 是否允许放大
  • reduce: 是否允许缩小

其中 $options['pos'] 参数的可用值有:

  • left: 左对齐
  • right: 右对齐
  • center: 中心对齐
  • top: 顶部对齐
  • bottom: 底部对齐
  • top-left, left-top: 左上角对齐
  • top-right, right-top: 右上角对齐
  • bottom-left, left-bottom: 左下角对齐
  • bottom-right, right-bottom: 右下角对齐

如果指定了无效的 $pos 参数,则等同于指定 center。

$options 中的每一个选项都可以单独指定,例如在允许裁减的情况下将图像放到新图片的右下角。

$image->crop($width, $height, array('pos' => 'right-bottom'));

saveAsJpeg() 方法

public Helper_ImageGD saveAsJpeg($filename, $quality)

$filename string 保存文件名
$quality int 品质参数,默认为 80
{return} Helper_ImageGD 返回 Helper_ImageGD 对象本身,实现连贯接口

保存为 JPEG 文件


saveAsPng() 方法

public Helper_ImageGD saveAsPng($filename)

$filename string 保存文件名
{return} Helper_ImageGD 返回 Helper_ImageGD 对象本身,实现连贯接口

保存为 PNG 文件


saveAsGif() 方法

public Helper_ImageGD saveAsGif($filename)

$filename string 保存文件名
{return} Helper_ImageGD 返回 Helper_ImageGD 对象本身,实现连贯接口

保存为 GIF 文件


destroy() 方法

public Helper_ImageGD destroy()

销毁内存中的图像