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
ここでは、疑いなく写真は提案されたオプションよりも良く見えます!

Source: https://habr.com/ru/post/J26555/


All Articles