thegrommet / image-resizer
一个用于调整图像大小的PHP库
v1.2.0
2022-03-02 18:50 UTC
Requires
- php: ^7.4 || ^8.0
- ext-gd: ^7.4 || ^8.0
- gumlet/php-image-resize: ^1.9
- kraken-io/kraken-php: ^1.6
Requires (Dev)
- phpunit/phpunit: ^8.2
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-09-13 20:25:29 UTC
README
一个用于调整图像大小的PHP库
构建状态
用法
调整大小
$resizer = new \Grommet\ImageResizer\Resizer('/path/to/images', '/path/to/save'); $newPath = $resizer->resize('in.jpg', 'out.jpg', ['strategy' => 'fit', 'width' => 100]); // $newPath = '/path/to/save/out.jpg'
生成资源URL
$urlGen = new \Grommet\ImageResizer\UrlGenerator('https://cdn.site.com/media'); $url = $urlGen->imageUrl('i/image.jpg', ['strategy' => 'fit', 'width' => 100]); // $url = 'https://cdn.site.com/media/fit_w-100/i/image.jpg'
调整大小预设
$presets = [ 'small' => [ 'width' => 293, 'height' => 219 ], 'large' => [ 'strategy' = 'crop', 'width' => 500, 'height' => 500 ] ]; /* urls */ $urlGen = new \Grommet\ImageResizer\UrlGenerator('https://cdn.site.com/media', $presets); $url = $urlGen->imageUrl('i/image.jpg', ['size' => 'small']); // $url = 'https://cdn.site.com/media/fit_w-293_h-219/i/image.jpg' /* files */ $resizer = new \Grommet\ImageResizer\PresetResizer( '/path/to/images', '/path/to/save', $presets ); $newPath = $resizer->resize('image.jpg', 'large'); // $newPath = '/path/to/save/crop_w-500_h-500_m-c/image.jpg'
调整大小服务
$urlResizer = new \Grommet\ImageResizer\UrlResizer( '/path/to/images', '/path/to/save', 'https://cdn.site.com/media' ); // incoming request for a resized image $url = 'https://cdn.site.com/media/fit_w-100/i/image.jpg'; $newPath = $urlResizer->resize($url); // $newPath = '/path/to/save/fit_w-100/i/image.jpg' header('Content-Type: image/jpeg'); $resource = imagecreatefromjpeg($newPath); imagejpeg($resource); // output to browser imagedestroy($resource);
调整大小策略
调整大小适配器
默认情况下,调整大小工具将使用PHP的GD2函数来调整图像大小。您可以指定不同的图像调整大小适配器,并将这项工作委托给第三方。
Kraken.io
一旦您拥有账户和API访问权限,就可以使用Kraken的图像调整大小服务。
$resizer = new \Grommet\ImageResizer\Resizer( '/path/to/images', '/path/to/save', 'kraken', ['api-key', 'api-secret'] ); $newPath = $resizer->resize('in.jpg', 'out.jpg', ['strategy' => 'fit', 'w' => 100, 'h' => 50]); // $newPath = '/path/to/save/out.jpg'
运行测试
composer test
代码风格 & 修复
# sniff src folder composer fmt-check # fix src folder composer fmt