どのようにして画像変換をbase64エンコードできますか?

このプラグインを使用しようとしていますが、
AssetFileModel
を入力します。私はそれを問題の資産に渡すことができますが問題はありませんが、資産の変形バージョンを渡したいと思います。しかし、Craftでは、変換されたイメージを
AssetFileModel として渡す方法はないようです。

ここに私のコードです:

{% set image = assetField.first() %}

{# Doesn't work; `image.url({width: 40})` outputs a URL as a string, not an AssetFileModel #}
{% set imageTiny = image.url({ width: 40 }) | image64(true) %}

<div style="background: url({{ imageTiny }});">...</div>

望ましい結果は、40pxの幅の小さな画像からなるbase64でエンコードされた文字列をHTMLに出力することです。

何か案は?

ベストアンサー

この特定のプラグインでは動作しません:

        //
`AssetFileModel`のインスタンスを要求します。
        if(!$ asset
instanceof AssetFileModel)
        {
            //静かに死ぬ。
            偽を返します。
        }

これは渡されたパラメータを特にチェックし、そのパラメータが AssetFileModel
であると想定します。しかし、あなたのユースケースで動作するようにプラグインを変更するのは難しくありません。

私はあなたが何をしようとしているのかを見ます。 Craft 3を使用している場合は、 ImageOptimize プラグインを使用してください。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です