$line) { $numbers = str_split($line); foreach ($numbers as $col => $number) { if ($final_image[$row][$col] == TRANSPARENT) { $final_image[$row][$col] = $number; } } } } $image = new Imagick(); $white = new \ImagickPixel('#FFFFFF'); $black = new \ImagickPixel('#000000'); $image->newImage(WIDTH * 10, HEIGHT * 10, 'none'); $image->setImageFormat('png'); $draw = new \ImagickDraw(); foreach ($final_image as $j => $row) { foreach ($row as $i => $cell) { $color = 'none'; if ($cell == WHITE) { $color = $white; } if ($cell == BLACK) { $color = $black; } $draw->setFillColor($color); $draw->rectangle(10 * $i, 10 * $j, 10 * $i + 10, 10 * $j + 10); } } $image->drawImage($draw); header("Content-Type: image/png"); $data = $image->getImageBlob(); file_put_contents('part_2.png', $data);