创建背景由两种颜色的正方形组成的 PNG 图像

Create PNG image with background consisting of squares in two colors

我正在尝试创建背景由两种颜色的正方形组成的 PNG 图像,正方形在水平或垂直方向重复,如图中所示。

这是我的代码:

<?php
$maxwert = 300;
$size = 20;
$img = imagecreatetruecolor($maxwert, $maxwert);
imagecolorallocate($img, 0, 0, 0);

   for($y=0;$y<$maxwert;$y += $size){
     for($x=0;$x<$maxwert;$x+=$size){
      $r = rand(0,255);
      $g = rand(0,255);
      $b = rand(0,255);
      $color = imagecolorallocate($img, $r, $g, $b);
     
      imagefilledrectangle ($img, $x, $y, $x+$size ,$y+$size, $color);
    
     }
   }                 
// Save the image
imagepng($img, 'imagefilledrectangle.png');
imagedestroy($img);
?>

我的输出:

在循环外创建两种颜色,然后循环一种然后另一种

<?php
$maxwert = 300;
$size = 20;
$img = imagecreatetruecolor($maxwert, $maxwert);
$colors = [
    imagecolorallocate($img, rand(0,255), rand(0,255) rand(0,255)),
    imagecolorallocate($img, rand(0,255), rand(0,255) rand(0,255))
];


for($y=0;$y<$maxwert;$y += $size){
    for($x=0;$x<$maxwert;$x+=$size){
        imagefilledrectangle ($img, $x, $y, $x+$size ,$y+$size, $colors[(($x/$size)%2+($y/$size))%2]);    
    }
}                
// Save the image
imagepng($img, 'imagefilledrectangle.png');
imagedestroy($img);
?>