spacecatninja / imager-x-aws-serverless-transformer
Imager X 的 AWS Serverless 图片处理器转换器
Requires
- php: ^8.2
- craftcms/cms: ^5.0.0-beta.1
- ssnepenthe/color-utils: ~0.4
This package is auto-updated.
Last update: 2024-08-29 10:57:34 UTC
README
一个用于在 Imager X 中使用 AWS Serverless Image Handler 作为转换器的插件。
此外,也是如何为 Imager X 制作自定义转换器的示例。
需求
此插件需要 Craft CMS 5.0.0-beta.1 或更高版本,Imager X 5.0.0-beta.1 或更高版本,以及一个可工作的 AWS Serverless Image Handler 设置。
使用方法
首先,您需要在 AWS 中设置一个 AWS Serverless Image Handler。如果您需要帮助和指导,Andrew Welch 有 一篇详尽的博客文章。
接下来,按照以下说明安装和配置此转换器。然后,在您的 Imager X 配置 中,将转换器设置为 awsserverless
,即
'transformer' => 'awsserverless',
转换现在默认使用 AWS Serverless Image Handler 进行转换。使用以下简单的转换测试您的配置
{% set transform = craft.imagerx.transformImage(asset, { width: 600 }) %}
<img src="{{ transform.url }}" width="600">
<p>URL is: {{ transform.url }}</p>
如果不起作用,请确保分发 URL 是正确的,并且图像处理器已设置为使用与您的资产相同的存储桶。
注意事项、缺点和建议
此转换器仅支持 Imager X 使用默认 craft
转换器时可以执行的部分功能。所有基本转换参数都受支持,以下是一些例外
- 图像处理器不支持基于百分比的焦点,它仅支持基于边缘的位置,如
left top
、right center
等。Craft 焦点将自动转换为最近的位置。 - 只有存储在 AWS 存储桶中的资产才能进行转换。
- 不支持
cropOnly
调整大小模式。 - 不支持
cropZoom
转换参数。 - 不支持
frames
和preEffects
。 - 以下
effects
被转换并支持:grayscale
、negative
、normalize
、sharpen
和blur
。 - 来自图像处理器生成的 URL... 不是很美观。
要传递底层 sharp.js 库理解的附加选项,您可以使用 transformerParams
转换参数。示例
{% set transforms = craft.imagerx.transformImage(asset,
[{width: 400}, {width: 600}, {width: 800}],
{ ratio: 2/1, transformerParams: { tint: '#ff0066' } }
) %}
如果您需要,也可以覆盖自动转换的参数,如 toFormat
和 resize
。
{% set transforms = craft.imagerx.transformImage(asset,
[{width: 400}, {width: 600}, {width: 800}],
{ ratio: 2/1, transformerParams: { tint: '#ff0066', toFormat: 'png', resize: { position: 'left top' } } }
) %}
有关更多信息,请参阅 sharp.js 文档。
安装
要安装此插件,请按照以下说明操作
- 通过在项目目录中运行
composer require spacecatninja/imager-x-aws-serverless-transformer
使用 composer 安装。 - 您可以在 Craft 控制面板的设置 > 插件下安装插件,或通过命令行使用
./craft plugin/install imager-x-aws-serverless-transformer
安装。
配置
您可以通过在配置文件夹中创建一个名为 imager-x-aws-serverless-transformer.php
的文件来配置转换器,并根据需要覆盖设置。
distributionUrl [字符串] (必需)
默认: 'distributionUrl'
这是您的 AWS 无服务器图像处理程序分布的 URL。示例
'distributionUrl' => 'https://dg5e6u1m25arf.cloudfront.net',
autoConvertGif [布尔值]
默认值:true
AWS 图像处理程序无法输出 GIF。将此设置设置为 true
(默认值),转换器将自动将 GIF 图像转换为 PNG 以避免错误。如果您想手动在模板级别覆盖此设置(通过显式设置 format
),则可以禁用此设置。
defaultBucket [字符串]
默认值:''
默认情况下,图像处理程序将尝试获取您要转换的资产的 AWS 体积的存储桶名称,并将其发送到图像处理程序,以便它知道从哪里获取图像。您可以使用此设置配置它应该回退到的默认存储桶。可能不需要,但您永远不知道。
确保在 AWS 中设置图像处理程序时,添加您已设置 Craft 使用的所有存储桶。
signatureKey [字符串]
默认值:''
AWS 图像处理程序支持使用 签名 URL 以防止第三方生成自己的转换。一旦您已配置图像处理程序使用它们,请添加您的签名密钥,生成的 URL 将包括一个正确散列的 ?signature=
参数,即可使用。
小心使用此设置!一旦在服务器端启用,任何没有有效签名的转换 URL 都将返回错误。
价格、许可证和支持
此插件采用 MIT 许可证发布。它需要 Imager X,这是一个商业插件,可在 Craft 插件商店中找到 (点击此处访问)。如果您需要帮助或发现错误,请在此存储库或 Imager X 的存储库中提交问题。