php从数组生成正方形四边带框和对角线的图片
2011-01-06 阅读 52
如何将预设的一个数组,变化成一个图片?按照数组里面预设的值,判断输出图片的样式。其实不难,看看下面的这张图片。四边带框,中间对角线有直线连通的图片是如何生成的。
写了一个drawing的函数来进行数组到图片的转换过程。
先来看看这张图片:

生成代码在这里:
function drawing($arr = array()) {
set_time_limit(0);
$image = imagecreate(count($arr[0]), count($arr));
imagecolorallocate($image, 255, 255, 255);
$color = imagecolorallocate($image, 0, 0, 0);
foreach ($arr as $i => $arr_line) {
foreach ($arr_line as $j => $arr_pixel) {
if( $arr_pixel == 1 ) {
imagesetpixel($image, $i, $j, $color);
}
}
}
header("Content-type: image/png");
imagepng($image);
}
$size = 300;
$arr = array();
for ($i = 0; $i < $size; $i++) {
$arr[$i] = array();
for ($j = 0; $j < $size; $j++) {
if( $i == $j || $i + $j == $size || $i == 0 || $j == 0 || $i == $size - 1 || $j == $size - 1 ) {
$arr[$i][$j] = 1;
} else {
$arr[$i][$j] = 0;
}
}
}
drawing($arr);
```
php 生成 图片 png imagecreate imagecolorallocate imagepng 数组 imagesetpixel
更新于 2023年03月28日