webino / webino-image-thumb
Zend Framework 2 的图像缩略图生成器
2.1.0
2018-06-07 11:11 UTC
Requires
- php: >=5.6
- ext-gd: *
- webino/thumbnailer: dev-develop
- zendframework/zend-di: 2.*
Requires (Dev)
- webino/webino-debug: dev-develop
- webino/webino-dev: dev-develop
- zendframework/zend-console: 2.*
- zendframework/zend-http: 2.*
- zendframework/zend-loader: 2.*
- zendframework/zend-log: 2.*
- zendframework/zend-modulemanager: 2.*
- zendframework/zend-mvc: 2.*
- zendframework/zend-version: 2.*
- zendframework/zend-view: 2.*
Suggests
- zendframework/zend-modulemanager: To use it as a Zend Framework module
This package is auto-updated.
Last update: 2024-09-04 22:51:32 UTC
README
提供API来操作图像的服务。
功能
- 调整大小、裁剪、填充、旋转、显示和保存图像
- 创建图像反射
- 裁剪空白区域
- 锐化图像
- 水印
设置
以下步骤是在考虑zf2-skeleton或非常类似的应用程序的情况下使此模块正常工作的必要步骤
- 运行:
php composer.phar require webino/webino-image-thumb:dev-develop
- 将
WebinoImageThumb
添加到启用模块列表
要求
- PHP >= 5.6
- GD 2.0+
快速入门
-
例如,将以下代码添加到控制器操作中,假设示例图像
// We encourage to use Dependency Injection instead of Service Locator $thumbnailer = $this->getServiceLocator()->get('WebinoImageThumb'); $imagePath = 'public/images/example.jpg'; $thumb = $thumbnailer->create($imagePath, $options = [], $plugins = []); $thumb->resize(100, 100); $thumb->show(); // or/and $thumb->save('public/images/resized.jpg');
注意:如果您不知道如何将WebinoImageThumb注入到动作控制器中,请查看
test/resources
-
使用反射插件
$reflection = $thumbnailer->createReflection(40, 40, 80, true, '#a4a4a4'); $thumb = $thumbnailer->create($imagePath, [], [$reflection]);
-
使用空白区域裁剪插件
$cropper = $thumbnailer->createWhitespaceCropper(); $thumb = $thumbnailer->create($imagePath, [], [$cropper]);
-
使用锐化插件
$sharpen = $thumbnailer->createSharpen(); $thumb = $thumbnailer->create($imagePath, [], [$sharpen]);
-
使用水印插件
$watermarkPath = 'public/images/my_watermark.png'; $watermarkThumb = $thumbnailer->create($watermarkPath); $watermark = $thumbnailer->createWatermark($watermarkThumb); $thumb = $thumbnailer->create($imagePath, [], [$watermark]);
选项
选项数组允许您稍微自定义库的行为。其中一些选项是特定实现的,并已注明。因此,让我们首先了解一下我们有哪些选项可用
函数
adaptiveResize($width, $height)
adaptiveResizePercent($width, $height, $percent = 50)
adaptiveResizeQuadrant($width, $height, $quadrant = 'T|B|C|L|R')
crop($startX, $startY, $cropWidth, $cropHeight)
cropFromCenter($cropWidth, $cropHeight = null)
pad($width, $height, $color = [255, 255, 255])
resize($maxWidth, $maxHeight)
resizePercent($percent)
rotateImage($direction = 'CW|CCW')
rotateImageNDegrees($degrees)
save($fileName, $format = 'GIF|JPG|PNG')
show($rawData = false)
获取器/设置器
getCurrentDimensions()
getFileName()
getFormat()
getIsRemoteImage()
getMaxHeight()
getMaxWidth()
getNewDimensions()
getOldImage()
getOptions()
getPercent()
getWorkingImage()
setCurrentDimensions($currentDimensions)
setFileName($fileName)
setFormat($format)
setMaxHeight($maxHeight)
setMaxWidth($maxWidth)
setNewDimensions($newDimensions)
setOldImage($oldImage)
setOptions($options)
setPercent($percent)
setWorkingImage($workingImage)
反射插件
-
createReflection($percent, $reflection, $white, $border, $borderColor)
$percent
- 从图像创建反射的百分比。$reflection
- 反射高度应占图像高度的百分比。$white
- 反射应有多透明(使用白色作为背景),以百分比表示。$border
- 是否应在原始图像周围绘制边框。$borderColor
- 您希望边框的颜色十六进制值。
空白区域裁剪插件
-
createWhitespaceCropper($border, $color)
$margin
- 原始图像周围的边距像素。$color
- 您希望裁剪的颜色十六进制值。
水印插件
-
createWatermark(PHPThumb $watermarkThumb, $position = [0, 0], $scale = .5)
$watermarkThumb
- 从水印文件获取水印图像。$position
- 水印位置,默认为中心[0, 0]
- 中心[-1, -1]
- 左下角[-1, 1]
- 左上角[1, 1]
- 右上角[1, -1]
- 右下角
$scale
- 水印相对于图像的缩放比例。
变更日志
3.0.0 [未发布]
- 移除了过时的插件类
2.1.0
- 需要使用 webino/thumbnailer 替换 masterexploder/PHPThumb
- 过时的插件类已移至 webino/thumbnailer 包中
2.0.0
- PHP >= 5.6
- 需要通过 composer 使用 PHPThumb 2.0
- 添加了空白区域裁剪插件
- 添加了锐化插件
- 移除了 ZF 自动加载器支持
- 添加了水印插件
- 添加了 ImageThumbAwareInterface & Trait
1.0.0
- 初始发布
开发
我们非常欢迎对这个模块的开发做出贡献。
了解如何开发 Webino 模块
补充
大部分文档来自PHPThumb 维基。
如果您对这个 Zend Framework 模块感兴趣,请报告任何问题,并不要犹豫做出贡献。