2013-02-21 87 views
1

我想產生一些隨機placekitten網址,像這樣:如何在PHP中隨機生成圖像尺寸?

http://placekitten.com/200/300

要爲我的那一刻開發網站上paceholders使用。圖片必須不小於100像素,寬度不得大於250像素。我生成寬度如下:

$width = mt_rand(100, 250); 

但我不知道如何生成高度。根據生成的隨機寬度,高度應爲適當的長寬比。怎麼做?

最終的目標是:

​​
+1

如何確定寬高比?我認爲placekitten可以採取你提供的任何規模,並相應地進行縮放/裁剪。您的意圖是指定圖像大小以適應您的設計模型需要。 – 2013-02-21 00:57:39

+0

什麼意思是「基於隨機寬度的適當寬高比」?你要找的長寬比是多少? – Pete 2013-02-21 00:58:47

+1

如果應該計算高度,爲什麼它必須在url中? – bitWorking 2013-02-21 00:58:51

回答

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