ImageMagick





画像処理ツールである、ImageMagick と、ImageMagickをphpから利用することができるモジュール PECL imagick について、具体的な使用例などをご案内いたします。
ImageMagickについて
「ImageMagick」とは、画像ファイルの編集や変換を行うことができるアプリケーションです。付属のconvertコマンドやPECL imagickモジュールなどを利用することで、様々な画像編集や画像変換を行うことができます。
- ImageMagickはBashのコマンドや、PHPから利用することができます。
- CentOS 5/6/7系では、PerlからImageMagickを利用できる PerlMagick がインストールされております。
- PHPからImageMagickを利用できるインターフェースPECL imagickがインストールされております。
- 共用サーバーをご利用の場合、極端に負荷の高い処理はご遠慮頂きます。
ImageMagickのバージョン
OS | ImageMagickのバージョン |
AlmaLinux 9/RHEL9系 | 7.1.1 |
CentOS7/RHEL7系 | 6.9.10 |
CentOS6/RHEL6系 | 6.6.7 ただし、PHPが5.6以前の場合、6.5.5 |
CentOS5/RHEL5系 | 6.5.5 |
ImageMagickの使用例
以下に具体的な使用例を記述致します。プログラムの記述方法につきましては、サポートの対象外となりますので、ご了承ください。
なお、ImageMagickのconvertコマンドをご利用頂く際は以下のフルパスをご指定ください。
/usr/local/bin/convert
画像ファイル回転の例
画像ファイルを時計回りに90度回転させたい場合、以下のコマンドを実行することでファイルを編集できます。
/usr/local/bin/convert -rotate 90 ●編集元ファイル名● ●保存先ファイル名●
画像ファイルリサイズの例
画像ファイルを200x100にリサイズさせたい場合、以下のコマンドを実行することでファイルを編集できます。
/usr/local/bin/convert -geometry 200x100 ●編集元ファイル名● ●保存先ファイル名●
PECL imagickについて
PECL imagickは、ImageMagickを利用してPHPで画像の作製や編集等を行うための機能です。
- PECL imagickのバージョンは、3.7.0(OSがAlmaLinux9系の場合)、3.4.3(OSがCentOS7/6系の場合)、3.1.2(OSがCentOS5系の場合)です。
- 共用サーバーをご利用の場合、極端に負荷の高いスクリプトはご遠慮頂きます。
PHPからPECL Imagickを利用する方法
以下に具体的な使用例を記述致します。プログラムの記述方法につきましては、サポートの対象外となりますので、ご了承ください。
画像ファイルをリサイズして表示させる例(PHP)
<?php $filename = "sample.png"; //sample.pngを読み込み $image = new Imagick($filename); //PECL imagickを利用 $image->thumbnailImage(200, 100); //読み込んだsample.pngをリサイズ header("Content-Type: image/png"); print $image; //リサイズしたsample.pngを表示 $image->clear();
Imagickのお薦め参考情報
PHP Imagickのマニュアル(外部サイトへのリンク)