Imagick
Drupal内での高度な画像操作のために、PHP Imagick拡張機能に基づいた画像ツールキット実装を提供します。
imagick
インストール
composer require 'drupal/imagick:8.x-1.12'
composer require 'drupal/imagick:8.x-1.11'
概要
Imagickモジュールは、画像処理にGDの代わりにPHP Imagick拡張機能(ImageMagick)を使用するDrupal用の代替画像ツールキットを提供します。コマンドラインからconvertバイナリを呼び出すImageMagickモジュールとは異なり、このモジュールはImagick PHP拡張機能を直接使用するため、Smart Cropのような画像データへの直接アクセスが必要なカスタムエフェクトが可能になります。
このモジュールは、ぼかしやシャープネスなどの基本操作から、ポラロイド、木炭画、油絵などの高度なエフェクトまで、画像スタイルに適用できる30以上の画像エフェクトを提供します。Google PageSpeedガイドラインに従ったJPEG最適化、設定可能なリサイズフィルター、メタデータ削除機能が含まれています。
Imagickツールキットは、ImageMagickがサポートするすべての画像フォーマットをサポートしており、デフォルトのGDツールキットと比較してはるかに幅広いフォーマットをサポートしています。これにより、多様な画像フォーマットを処理する必要があるサイトや、高度な画像操作機能が必要なサイトに最適です。
Features
- 画像データへの直接アクセスのためのPHP Imagick拡張機能を使用した代替画像ツールキット
- ぼかし、シャープネス、ポラロイド、木炭画、油絵など、画像スタイル用の30以上の設定可能な画像エフェクト
- パフォーマンス向上のためのGoogle PageSpeed Insightsガイドラインに従ったJPEG最適化
- 最適な画像品質のための16種類のフィルターオプションを備えた設定可能なリサイズフィルター
- ファイルサイズ削減と機密性のあるEXIFデータ削除のための自動メタデータ削除
- マルチフレーム処理によるアニメーションGIFおよびWebP画像のサポート
- パスワード保護された暗号化を使用した画像の暗号化と復号化
- 色選択が必要なエフェクト用のカラーピッカーインターフェース
- 高度な画像フィルタリング用のカスタム畳み込みカーネルマトリックス
- EXIFの向きデータに基づく自動画像回転
Use Cases
プロフェッショナルな画像スタイルの作成
Imagickエフェクトを使用して、写真ポートフォリオ用の洗練された画像スタイルを作成します。アーティスティックな境界線用のビネット、鮮明なディテール用のシャープネス、すべてのアップロード画像で一貫したカラーグレーディング用のカラーシフトなど、エフェクトの組み合わせを適用できます。
画像への透かしの追加
Annotateエフェクトを使用して画像にテキスト透かしを追加するか、Compositeエフェクトを使用してアップロードされた写真にロゴ画像をオーバーレイします。プロフェッショナルな透かしのために、位置、不透明度、ブレンドモードを設定できます。
アーティスティックなサムネイルの作成
スケッチスタイルのサムネイル用のCharcoal、絵画的なエフェクト用のOilpaint、ビンテージスタイルのフォトフレーム用のPolaroidなどのエフェクトを使用して、アーティスティックなサムネイルバリエーションを生成します。
JPEG画像の最適化
Google PageSpeed最適化を有効にして、最適なサンプリング係数、RGBカラースペース、プログレッシブインターレースでJPEGを自動的に圧縮し、大幅な品質低下なしにページ読み込みを高速化します。
EXIFの向きの処理
Autorotateエフェクトを使用して、EXIFデータに基づいて画像の向きを自動的に修正し、スマートフォンやカメラからの写真が撮影方法に関係なく正しく表示されるようにします。
透明な背景の画像の作成
Transparent BackgroundエフェクトとTrimを組み合わせて使用し、製品画像から単色の背景を削除して、ECサイトのカタログ用のクリーンな切り抜きを作成します。
機密性のある画像のセキュリティ保護
Encipherエフェクトを使用してパスワードで機密性のある画像を暗号化し、別の画像スタイルでDecipherを使用して許可された閲覧用に復号化します。
PNGファイルサイズの削減
PosterizeエフェクトをPNG画像に適用して色レベルを減らし、Webグラフィックスの許容可能な視覚品質を維持しながらファイルサイズを大幅に削減します。
Tips
- 最高のJPEG品質を得るには、品質設定を80%以上に保ち、Google PageSpeed最適化を有効にしてください
- Convertエフェクトを画像スタイルの最後のエフェクトとして使用して、最終的な出力形式と品質を制御してください
- Stripエフェクトは、EXIF、ICCプロファイル、その他のメタデータを削除することでファイルサイズを大幅に削減できます
- 複数のぼかしやシャープネスエフェクトを組み合わせる場合は、小さな値から始めて徐々に増やしてください
- Define Canvasエフェクトを使用して、一貫した境界線を追加したり、合成操作用に画像を準備したりできます
- Convolveエフェクトは3x3カーネルマトリックスを受け入れます。エッジ検出やシャープ化などのエフェクト用の一般的な畳み込みカーネルをオンラインで検索してください
- ツールキット設定でメタデータ削除をグローバルに有効にして、処理されたすべての画像からEXIFデータを自動的に削除してください
Technical Details
Admin Pages 2
/admin/config/media/image-toolkit
画像ツールキットの設定を構成します。Imagickが選択されている場合、JPEG品質、最適化、リサイズフィルター、メタデータ処理のための追加設定オプションが利用可能になります。
/admin/config/media/image-styles
画像スタイルを設定し、Imagick固有のエフェクトを追加します。Imagickツールキットが有効になっている場合、エフェクトリストに追加のエフェクトが利用可能になります。
Troubleshooting 5
PHP Imagick拡張機能がインストールされ、有効になっていることを確認してください。phpinfo()で確認するか、コマンドラインで「php -m | grep imagick」を実行してください。
Drupalのwatchdogログで詳細なエラーメッセージを確認してください。Imagick PHP拡張機能のバージョンが互換性があり、必要なすべてのImageMagickコンポーネントがインストールされていることを確認してください。
モジュールはcoalesceImages()とwriteImages()を使用してアニメーションGIFを処理します。これらの操作がImageMagickのインストールでサポートされていることを確認してください。
カラースペース設定を確認してください。RGBカラースペースを設定するGoogle PageSpeed最適化を有効にするか、手動で一貫したカラースペース処理を確保してください。
大きな画像はPHPのメモリ制限を超える可能性があります。php.iniでmemory_limitを増やすか、より良いメモリ処理のためにコマンドライン処理を使用するImageMagickモジュールの使用を検討してください。
Security Notes 3
- Encipher/Decipherエフェクトは設定にパスワードを保存します。設定エクスポートに対する適切なアクセス制御を確保してください
- メタデータの削除はGPS座標を含むEXIFデータを削除します。これはユーザーがアップロードした画像のプライバシー上の懸念となる可能性があります
- 画像処理はリソース集約的になる可能性があります。公開サイトでの画像スタイル生成に対するレート制限やアクセス制御を検討してください