wapmorgan/imagery
Composer 安装命令:
composer require wapmorgan/imagery
包简介
Simple image editor for resizing, cropping, making collages and other elementary actions with images.
README 文档
README
Imagery supports:
- resizing
- cropping
- flipping and rotating
- making collages
- applying filters and effects
- Installation
- API
Installation
- Composer package:
composer require wapmorgan/imagery
API
Imagery
use Imagery\Imagery;
Opening
Create new Imagery object:
$image = Imagery::open($filename);- from a file.$image = Imagery::create($width, $height);- new image$image = new Imagery(imagecreatefrombmp('image.bmp'));- from a resource
Saving
public function save($filename, $quality = 75, $format = null)- saves image to disk. Quality is an integer value between0(worst) and100(best). Default is75. Quality is applicable only to JPEG, PNG, WEBP. If$formatcan not be determined by filename extension, specifcy it explicitly.
Formats supports:
| Operation | Formats |
|---|---|
| Opening | jpeg, png, gif, bmp, wbmp, xbm, xpm, webp (php >= 7.1.0) |
| Saving | jpeg, png, gif, bmp, wbmp, xbm, webp (php >= 7.1.0) |
Properties
$image->width- width of image$image->height- height of image$image->resource- original gd-resource of image (you can use it with gd-functions)
Resize && Zoom
public function resize(int $width, int $height)- resizes an image to$widthX$heightpublic function zoomWidthTo(int $size)- changes proportionally image width to$sizepublic function zoomHeightTo(int $size)- changes proportionally image height to$sizepublic function zoomMaxSide(int $size)- zoomes proportionally larger side to$size, if needed
Crop
public function crop($x, $y, $x2, $y2)- cuts a rectangular piece of imagepublic function decreaseSide($side, int $size)- deletes a piece of image from specific side. For example, if $side=top and $size=100, 100px from top will be deleted.
Rotation && Mirroring
public function rotate($angle, $bgColor = 0)- rotates an image.Trueequals 90°,Falseequals -90°.public function flip($horizontally = true)- flips an image horizontally or vertically.
Collage
-
public function appendImageTo($side, Imagery $appendix, int $modifiers)- appends an image ($appendix) to current image at$side(top|bottom|left|right). Modifiers:Imagery::ZOOM_IF_LARGER- appendix' height will be zoomed (not resized) if it's larger than current image's one (when appending to left or right side); appendix' width will be zoomed (not resized) if it's larger than current image's one (when appending to top or bottom side);
-
public function placeImageAt($x, $y, Imagery $image)- places an image atop current image at$xX$y. -
public function placeImageAtCenter(Imagery $image)- places an image in the center of current image.
Effects
-
public function filter($filter)- applies grayscale or negate filter. PassImagery::FILTER_NEGATEorImagery::FILTER_GRAYSCALEas $filter.Grayscale:
Negate:
-
public function changeContrast($newValue)- changes contrast of image. New values can be in range from 100 (max contrast) to -100 (min contrast), 0 means no change. -
public function changeBrightness($newValue)- changes brightness of image. New values can be in range from 255 (max brightness) to -255 (min brightness), 0 means no change. -
public function colorize($red, $green, $blue, $alpha = 127)- changes colors of image. Colors ($red, $green, $blue) can be in range from 255 to -255.$alphafrom 127 to 0. -
public function blur($method)- blurs an image. Method can beImagery::GAUSSIAN_BLURorImagery::SELECTIVE_BLUR. -
public function smooth($level)- smooths an image. Level of smoothness can be in range from 0 to 8. 8 is un-smooth. -
public function pixelate($blockSize = 5, $useModernEffect = true)- pixelates an image.$blockSizeis size of pixel block.
Tools
There's a tools class: Imagery/Tools.
-
static public function pHash(Imagery $image, $sizes = array(8, 8))Calculates Perceptual hash of image.
wapmorgan/imagery 适用场景与选型建议
wapmorgan/imagery 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 174 次下载、GitHub Stars 达 25, 最近一次更新时间为 2017 年 01 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「images」 「phash」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 wapmorgan/imagery 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 wapmorgan/imagery 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 wapmorgan/imagery 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Perceptual image hashing for PHP
A Laravel Nova field for distribute your images as array of object.
Pexels API Client for www.pexels.com
Image Processing Library for comparing images
TYPO3 CMS extension to create gallery content element with preset crop ratios and pagination
Convert and serve jpeg/png to webp with PHP (if at all possible)
统计信息
- 总下载量: 174
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 25
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-01-11







