contao/image
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)', ], ] */
contao/image 适用场景与选型建议
contao/image 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.78M 次下载、GitHub Stars 达 13, 最近一次更新时间为 2016 年 02 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 contao/image 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 contao/image 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1.78M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 14
- 点击次数: 7
- 依赖项目数: 7
- 推荐数: 0
其他信息
- 授权协议: LGPL-3.0-or-later
- 更新时间: 2016-02-22