2017-04-06 9 views
0

プロジェクトで画像が正常で歪んでいます。歪んだ画像のサイズを正しく変更する必要がありますphp imagickで歪んだ画像を確認するにはどうしたらいいですか?

imagickで画像が歪んでいるかどうかを確認する方法はありますか?私を助けることができるimagickのプロパティはありますか?

歪んだ画像の例:

enter image description here enter image description here

+0

どのように歪んだ画像を定義しますか? – Danack

+0

元の画像を変更したコードによって歪んだ画像が作成されました。おそらく歪んだ画像は向きを変えることによって作られたのかもしれません: http://stackoverflow.com/questions/19456036/detect-exif-orientation-and-rotate-image-using-imagemagick(正しい画像の向きを得るために2番目の答えのコードを使用しました) –

+0

イメージは次のように定義されました: $ imagick = new \ Imagick(BASE_PATH。 '/ uploads'。$ image-> filename);$ imagick-> resizeimage($ newWidth、$ newHeight、0.9、TRUE); $ imagick-> writeimage($ absCacheName); –

答えて

0

メソッドシグネチャは:画像はアスペクト比を維持せずにサイズ変更されているように、Imagick::resizeImage (int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ])

あなたは、フィルタパラメータが欠落しています。

フィルタパラメータとして\ Imagick :: FILTER_LANCZOSを渡してみてください。

+0

しかし、質問は少し異なります。画像のサイズが既に大きくなっていて、一部の画像のサイズが正しくない場合は、どの画像が正しくサイズ変更されたかを検出できますか?このチェックで歪んだ、間違った画像だけを元のサイズに戻す必要があります。すべての画像ではありません。 –

+0

おそらくimagickはいくつかのプロパティやオプションを持っています... –

+0

"どの画像が正しくサイズ変更されたかを検出できますか?あなたが歪んだことを定義することができない限り、おそらくそうではありません。それがあなたのコードだけで画像を乱されている場合は、どの画像に適用するかを手で判断することをお勧めします。 Imagickはイメージがイメージにサイズ変更されたかどうかのフラグを格納しているとは思わない。 – Danack

関連する問題