ImageMagickは、ビットマップ画像を作成、編集、構成または変換するためのソフトウェアプラグインです。 PNG、JPEG、JPEG-2000、GIF、TIFF、DPX、EXR、WebP、Postscript、PDF、SVGなど、様々な形式(200以上)で画像の読み取りと書き込みを行うことができます。 ImageMagick は、画像のサイズ変更、反転、ミラー、回転、変形、剪断および変換をおこなう場合に使用します。ImageMagick を使用して、画像の色を調整したり、各種特殊効果を適用したりすることもできます。また、テキスト、直線、多角形、楕円および曲線を描画することもできます。
ImageMagick で画像を処理するには、コマンドラインから Adobe Experience Manager(AEM)メディアハンドラーを使用します。ImageMagick を使用して様々なファイル形式を取り扱うには、Assets のファイル形式に関するベストプラクティスを参照してください。すべてのサポートされるファイル形式については、Assets でサポートされるファイル形式を参照してください。
ImageMagick を使用して大きなファイルを処理する場合は、必要なメモリが通常より多くなること、IM ポリシーの変更が必要になる可能性があること、パフォーマンスへの全体的な影響を考慮してください。メモリ要件は、解像度、ビット深度、カラープロファイル、ファイル形式などの様々な要因によって異なります。ImageMagick を使用して非常に大きなファイルを処理する場合は、AEM サーバーのベンチマークを適切に実行してください。いくつかの有用なリソースを最後に紹介します。
Adobe Managed Services(AMS)でAEMを使用している場合は、大量のPSDまたはPSBファイルを処理する予定の場合は、Adobeカスタマーケアにお問い合わせください。 30000 x 23000ピクセルを超える高解像度のPSBファイルは、Experience Managerで処理されない場合があります。
各種オペレーティングシステム向けに、様々なバージョンの ImageMagick インストールファイルが用意されています。オペレーティングシステムに適したバージョンを使用してください。
お使いのオペレーティングシステムに対応するImageMagickインストールファイルをダウンロードします。
AEM サーバーをホスティングしているディスクに ImageMagick をインストールするには、インストールファイルを起動します。
path 環境変数を ImageMagick のインストールディレクトリに設定します。
インストールが成功したかどうかを確認するには、identify -version
コマンドを実行します。
特定の使用例に応じてコマンドラインプロセスのステップを設定できます。AEMサーバーの/content/dam
にJPEG画像ファイルを追加するたびに、反転した画像とサムネール(140x100、48x48、319x319、1280x1280)を生成するには、次の手順を実行します。
AEMサーバーで、ワークフローコンソール(https://[aem_server]:[Port]/workflow
)に移動し、DAM Update Assetワークフローモデルを開きます。
DAM更新アセットワークフローモデルから、EPSサムネール(ImageMagickが動作)ステップを開きます。
「引数」タブで、Mimeタイプリストにimage/jpeg
を追加します。
「コマンド」ボックスに、次のコマンドを入力します。
convert ./${filename} -flip ./${basename}.flipped.jpg
「生成されたレンディションを削除」および「Webレンディションを生成」フラグを選択します。
「Web に対応した画像」タブで、1280 x 1280 ピクセルというサイズでレンディションの詳細を指定します。さらに、「Mimetype」ボックスにi mage/jpegを指定します。
「OK」をタップまたはクリックして、変更内容を保存します。
convert
コマンドは、Windowsのインストールに含まれるネイティブのconvert
ユーティリティと競合するので、特定のWindowsバージョン(Windows SEなど)では実行できない場合があります。 このような場合は、ImageMagick ユーティリティの完全パスを指定します。例えば、以下のように指定します。
"C:\Program Files\ImageMagick-6.8.9-Q16\convert.exe" -define jpeg:size=319x319 ./${filename} -thumbnail 319x319 cq5dam.thumbnail.319.319.png
サムネールを処理の手順を開き、MIMEタイプをスキップの下にMIMEタイプimage/jpeg
を追加します。
「Web対応の画像」タブで、スキップリストの下にMIMEタイプimage/jpeg
を追加します。 「OK」をタップまたはクリックして、変更内容を保存します。
ワークフローを保存します。
ImageMagick が画像を正しく処理できるかどうかを確認するには、JPG 画像を AEM Assets にアップロードします。その画像の反転画像とレンディションが生成されるかどうかを確認します。
ImageMagick を使用した画像の処理に関連して、セキュリティの脆弱性が複数存在します。例えば、ユーザーが送信した画像の処理は、リモートコード実行(RCE)のリスクを伴います。
さらに、様々な画像処理プラグインはImageMagickライブラリに依存しています。このライブラリには、PHPのimagick、Rubyのmagickとpaperclip、Node.jsのimagemagickなどが含まれますが、これに限りません。
ImageMagick または影響を受けるライブラリを使用する場合は、以下のタスクのどちらか(できれば両方)を実行して、既知の脆弱性を緩和することをお勧めします。
/etc/ImageMagick
にあります。