contao/image
最新稳定版本:1.2.3
Composer 安装命令:
composer require contao/image
包简介
Contao image library
README 文档
README
This library provides methods to resize images based on resize configurations
and generates responsive images to be used with <picture> and srcset. It is
used in Contao to handle on-the-fly resizing of images.
Installation
php composer.phar require contao/image
Usage
Simple resize:
$imagine = new \Imagine\Gd\Imagine(); $resizer = new Resizer('/path/to/cache/dir'); $image = new Image('/path/to/image.jpg', $imagine); $config = (new ResizeConfiguration()) ->setWidth(100) ->setHeight(100) ->setMode(ResizeConfiguration::MODE_CROP) ; $options = (new ResizeOptions()) ->setImagineOptions([ 'jpeg_quality' => 95, 'interlace' => \Imagine\Image\ImageInterface::INTERLACE_PLANE, ]) ->setBypassCache(true) ->setTargetPath('/custom/target/path.jpg') ; $resizedImage = $resizer->resize($image, $config, $options); $resizedImage->getPath(); // /custom/target/path.jpg $resizedImage->getUrl('/custom/target'); // path.jpg $resizedImage->getUrl('/custom/target', 'https://example.com/'); // https://example.com/path.jpg
Responsive image:
$imagine = new \Imagine\Gd\Imagine(); $resizer = new Resizer('/path/to/cache/dir'); $pictureGenerator = new PictureGenerator($resizer); $image = new Image('/path/to/image.jpg', $imagine); $config = (new PictureConfiguration()) ->setSize((new PictureConfigurationItem()) ->setResizeConfig((new ResizeConfiguration()) ->setWidth(100) ->setHeight(100) ->setMode(ResizeConfiguration::MODE_CROP) ) ->setDensities('1x, 2x') ->setSizes('100vw') ) ->setSizeItems([ (new PictureConfigurationItem()) ->setResizeConfig((new ResizeConfiguration()) ->setWidth(400) ->setHeight(200) ->setMode(ResizeConfiguration::MODE_CROP) ) ->setDensities('1x, 2x') ->setSizes('100vw') ->setMedia('(min-width: 900px)') ]) ; $options = (new ResizeOptions()); $picture = $pictureGenerator->generate($image, $config, $options); $picture->getImg('/path/to'); /* [ 'src' => 'cache/dir/4/image-de332f09.jpg', 'width' => 100, 'height' => 100, 'srcset' => 'cache/dir/4/image-de332f09.jpg 100w, cache/dir/4/image-9e0829dd.jpg 200w', 'sizes' => '100vw', ] */ $picture->getSources('/path/to', 'https://example.com/'); /* [ [ 'src' => 'https://example.com/cache/dir/c/image-996db4cf.jpg', 'width' => 400, 'height' => 200, 'srcset' => 'https://example.com/cache/dir/c/image-996db4cf.jpg 400w, https://example.com/cache/dir/2/image-457dc5e0.jpg 800w', 'sizes' => '100vw', 'media' => '(min-width: 900px)', ], ] */
统计信息
- 总下载量: 1.6M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 14
- 点击次数: 1
- 依赖项目数: 7
- 推荐数: 0
其他信息
- 授权协议: LGPL-3.0-or-later
- 更新时间: 2016-02-22