1

次のようなランダムなplacekittenのURLを生成したいと思います。

http://placekitten.com/200/300

現在開発中のサイトでペースホルダーとして使用するため。画像の幅は100ピクセル以上、250ピクセル以下である必要があります。私は次のような幅を生成しています:

$width = mt_rand(100, 250);

しかし、高さを生成する方法がわかりません。高さは、生成されたランダムな幅に基づいて適切なアスペクト比である必要があります。どうやってするか?

最終的な目標は次のとおりです。

$thumb = "http://placekitten.com/$width/$height";
4

1 に答える 1

1

次のように単純にする必要があります。

$ratio = 200/300;
$width = mt_rand(100, 250);
$height = round($width / $ratio);

いくつかの例を参照してください。

$ratio = 200/300;
echo "base aspect ratio: ", round($ratio, 2), "\n\n";

foreach(range(1,10) as $_) {
  $width = mt_rand(100, 250);
  $height = round($width / $ratio);
  echo "http://placekitten.com/{$width}/{$height}\n";
  echo "aspect ratio: ", round($width / $height, 2), "\n\n";
}

出力

base aspect ratio: 0.67

http://placekitten.com/229/344
aspect ratio: 0.67

http://placekitten.com/112/168
aspect ratio: 0.67

http://placekitten.com/241/362
aspect ratio: 0.67

http://placekitten.com/223/335
aspect ratio: 0.67

http://placekitten.com/196/294
aspect ratio: 0.67

http://placekitten.com/234/351
aspect ratio: 0.67

http://placekitten.com/116/174
aspect ratio: 0.67

http://placekitten.com/157/236
aspect ratio: 0.67

http://placekitten.com/165/248
aspect ratio: 0.67

http://placekitten.com/114/171
aspect ratio: 0.67
于 2013-02-21T00:59:45.340 に答える