图像处理(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');
方法 :codesave
的第一个参数是指定保存路径,如果为空,将覆盖原始文件,第二个参数指定图像质量 [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);
方法 :coderesize
的第一个参数是指定宽度,第二个参数指定高度,第三个参数指定了缩放方式,默认为 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);
方法 :codebackground
参数必须是图像对象。
图像设置背景色(Image Background)
示例:
- <?php
- $image->background('#000000', 90);
方法 :codebackground
的第一个参数是指定背景颜色值,默认值为 000000,第二个参数指定透明度,范围 [1-100]。
图像高斯模糊(Blur Image)
示例:
- <?php
- $image->blur(10);
方法 :codeblur
参数默认值为 1,范围 [1-100]。
图像像素化(Pixelate Image)
示例:
- <?php
- $image->pixelate(15);
方法 :codepixelate
参数默认值为 10。