PHPのPhotoshop

異なるライブラリーで画像を縮小し、結果を比較します 自動写真処理の多くのタスクでは、 GDライブラリの品質と機能は適切ではありません。 PHPまたはPerlからPhotoshopにアクセスする機能はまだ存在しないため、 ImageMagickを使用して問題を解決します。



これは、 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

ここでは、疑いなく写真は提案されたオプションよりも良く見えます!






All Articles