我已经创建了一个代码来生成随机模式图像。它会创建一个具有给定宽度和高度的图像,并用小的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
我认为它应该是'<'而不是'<=',但无法测试。 –