1

この質問がここに当てはまるかどうかはわかりませんが、PHP GD ライブラリなどで比率を維持しながら画像のサイズを変更する式を理解したいと思います。

たとえば、ここに例があります: http://salman-w.blogspot.com/2008/10/resize-images-using-phpgd-library.html

この例では、「target_aspect_ratio」が「original_aspect_ratio」より大きい場合、高さは targe_height で、幅は target_height * original_aspect_ratio で計算されます。

"original_aspect_ratio" が "target_aspect_ratio" より大きい場合、ターゲットの幅は target_width で、高さは target_width / original_aspect_ratio で計算されます

何故ですか?

4

1 に答える 1

1

比率を維持するときに常に画像のサイズを変更する方法は、次のようなアルゴリズムを使用することです。

$imgHeight=600; // Or the actual image height.
$imgWidth=300;  // Or again the width of the image
$imgRatio=$imgHeight/$imgWidth;

次に、画像のサイズを変更するには、次を使用できます。

$newHeight=1000;
resize($newHeight, ($newHeight/$imgRatio)); 
// assumes Height x Width in the resize command.

この方法では、元の画像の比率を取得し、必要なサイズに適用します。

編集:

サムネイルを作成している場合、すべてのサムネイルの画像サイズを正確に同じサイズに保ちたい場合がよくあります。これにより、サムネイルがページ上できれいに整列します。サイズ変更された画像が実際のサムネイルの内側に収まるように画像のサイズを変更することをお勧めします。サイト。

于 2013-09-16T11:31:09.443 に答える