我已經創建了一個代碼來生成隨機模式圖像。它會創建一個具有給定寬度和高度的圖像,並用小的40x40像素矩形填充圖像。 這是我的代碼:在PHP中使用GD庫進行圖像繪製
<?php
$width = 1000;
$height = 600;
$image_p = imagecreate($width, $height);
$baseR = 255 - rand(0, 100);
$baseG = 255 - rand(0, 100);
$baseB = 255 - rand(0, 100);
for ($i = 0; $i <= floor($width/40); $i++){
for ($j = 0; $j <= floor($height/40); $j++){
$val = floor(100 * (rand(0, 100)/100));
$r = $baseR - $val;
$g = $baseG - $val;
$b = $baseB - $val;
$color = imagecolorallocate($image_p, $r, $g, $b);
imagefilledrectangle($image_p, $i * 40, $j * 40, (($i + 1) * 40), (($j + 1) * 40), $color);
}
}
imagejpeg($image_p, 'my_dir/test.jpg');
>
當我設置寬度爲像640的值,高度爲400,但有沒有問題,如果我將寬度設置爲1000,高度爲? 800,圖像右側將出現空白區域,矩形未覆蓋該區域。 我在delphi中實現了相同的代碼,它工作完美,但在PHP ...!
這個空白區域的大小是40的幾倍嗎?如果是這樣,那麼有一些數學/ fencepost錯誤。如果它是一個不可思議的非40倍尺寸,那麼很奇怪的事情正在發生。 –
我不這麼認爲,因爲我甚至使用過這個代碼,它也沒有工作:($ j = 0; $ j <0; $ i = 0; $ i <= 1000; $ i ++){ { } = 1000; $ j ++){ – Agha
我認爲它應該是'<'而不是'<=',但無法測試。 –