> Phalcon7中文手册 > 图像处理(Image manipulation)

图像处理(Image manipulation)¶

图像组件给应用提供图像缩放、截取、翻转、反射等功能。

图像驱动适配器(Image Driver Adapters)¶

Phalcon 内置下列驱动适配器:

名称 API
GD Phalcon\Image\Adapter\GD
Imagick Phalcon\Image\Adapter\Imagick

图像另存(Image Save)¶

示例:

<?PHP

$image = new Phalcon\Image\Adapter\GD('unit-tests/assets/phalconphp.jpg');
// 另存
$image->save('unit-tests/assets/production/gd-resize.jpg');

方法 :code`save` 的第一个参数是指定保存路径,如果为空,将覆盖原始文件,第二个参数指定图像质量 [1-100] 之间。

图像渲染(Image Render)¶

示例:

<?php

$image = new Phalcon\Image\Adapter\GD('unit-tests/assets/phalconphp.jpg');
// 获取二进制字符串
$bytes = $image->render();
$this->response->setContentType('image/png');
$this->response->setContent($bytes);
$this->response->send();

图像缩放(Image Resize)¶

示例:

<?php

$image = new Phalcon\Image\Adapter\GD('unit-tests/assets/phalconphp.jpg');
// 缩放
$image->resize(200, 200);

方法 :code`resize` 的第一个参数是指定宽度,第二个参数指定高度,第三个参数指定了缩放方式,默认为 PhalconImage::AUTO。第三个参数有以下几个值:

  • PhalconImage::AUTO 设置了该值,将计算原始宽度和设定宽度比 与 原始高度和设定高度比的值大小,值大的选择按设置的宽度等比缩放。
  • PhalconImage::INVERSE 设置了该值,将计算原始宽度和设定宽度比 与 原始高度和设定高度比的值大小,值大的选择按设置的高度等比缩放。
  • PhalconImage::WIDTH 设置了该值,必须设置宽度,将根据设置的宽度等比缩放图像
  • PhalconImage::HEIGHT 设置了该值,必须设置高度,将根据设置的高度等比缩放图像
  • PhalconImage::PRECISE 设置了该值,将计算设置宽高比 与 原始宽高比 的值大小,值大的选择按设置的高度等比缩放。
  • PhalconImage::NONE 设置了该值,允许拉伸,将使用设定的宽度和高度进行缩放,宽度或高度允许为空,将使用原始图像宽度或高度。
  • PhalconImage::TENSILE 设置了该值,允许拉伸,将使用设定的宽度和高度进行缩放。
  • PhalconImage::NARROW 设置了该值,如果设置的宽度或高度超出图像原始尺寸,将自动使用原始尺寸替换。

图像添加水印(Add Watermark To Image)¶

可以添加水印到指定位置,示例:

<?php

$mask = new Phalcon\Image\Adapter\GD('watermark.jpg');
$image->watermark($watermark, -10, -10, 90);

图像添加文本(Add Text To Image)¶

可以添加文本到指定位置,下面的示例将会添加文本到图像正中间位置:

<?php

$image->text('Hello world');

图像添加倒影(Add Reflection To Image)¶

可以添加指定高度的倒影,示例:

<?php

$image->reflection(20, 90);

图像遮罩(Image Mask)¶

示例:

<?php

$mask = new Phalcon\Image\Adapter\GD('mask.jpg');
$image->mask($mask);

方法 :code`background` 参数必须是图像对象。

图像设置背景色(Image Background)¶

示例:

<?php

$image->background('#000000', 90);

方法 :code`background` 的第一个参数是指定背景颜色值,默认值为 000000,第二个参数指定透明度,范围 [1-100]。

图像高斯模糊(Blur Image)¶

示例:

<?php

$image->blur(10);

方法 :code`blur` 参数默认值为 1,范围 [1-100]。

图像像素化(Pixelate Image)¶

示例:

<?php

$image->pixelate(15);

方法 :code`pixelate` 参数默认值为 10。