![異なるライブラリーで画像を縮小し、結果を比較します](https://habrastorage.org/getpro/geektimes/post_images/e72/48a/720/e7248a720a80e41ee4a6ed4a63a19fa3.jpg)
これは、 Fedoraリポジトリでphp-magickwandと呼ばれるImageMagick MagickWandへのPHPインターフェースです。 MagickWand APIは、ラスターグラフィックスの要素とベクターグラフィックスの要素の両方を操作できるという点で、従来のImageMagickとは異なるという事実に注目したいと思います。
phpには、 ImageMagickへのインターフェイスの別の実装であるIMagickがありますが、私の意見では、このライブラリの機能はMagickWandに取って代わります。
最初の記事では、いくつかの典型的な画像処理タスクの例を見て、結果をphp-gdと比較します。
画像を縮小する
このような単純なコードで画像を縮小する
$magick_wand=NewMagickWand(); MagickReadImage($magick_wand,'linux_users.jpg'); $mgck_local=MagickTransformImage($magick_wand, NULL,'x100'); MagickStripImage($mgck_local); MagickEchoImageBlob($mgck_local);
「x100」は垂直方向に100、水平方向にいくらになるか、
2番目のパラメーターは画像のトリミング機能を担当しているため、この例では使用しません。 MagickStripImageはコメントを削除し、時には小さな画像のサイズを著しく縮小します。
経験豊富なウェブデザイナーは、ウェブの画像を大幅に縮小すると、
写真をより見やすくするために、少しシャープネスを追加します。 シャープネスのパラメーターは、画像のサイズに依存しますが、実際にはデザイナーの芸術的な好みに依存します。 MagickWandでシャープ:
$magick_wand=NewMagickWand(); MagickReadImage($magick_wand,'linux_users.jpg'); $mgck_local=MagickTransformImage($magick_wand, NULL,'x100'); MagickSharpenImage($mgck_local,1,4); MagickStripImage($mgck_local); MagickEchoImageBlob($mgck_local);
次に、結果を比較し、GDを使用して、デフォルトモードで、100%の品質を保持した状態でリダクション操作を実行します。
また、透かしやMagickWandでのPhotoShopの効果に関する資料もあります。もちろん、この情報が興味を持っていない限り、これは次の記事のために用意されています。
処理モード | 画像 |
---|---|
GDデフォルトモード( 2,351 b )
非常に小さいサイズですが、品質の低下はすでに顕著です | ![]() |
GD 100%品質( 7 847 b )
品質は良好で、GDはすべてを完璧に行います! | ![]() |
MagickWand "デフォルトで"( 9 695 b )
品質は良好ですが、サイズは少し大きくなります! | ![]() |
MagickWand +フォーカス( 14 508 b )
ここでは、疑いなく写真は提案されたオプションよりも良く見えます! | ![]() |