使用 imagesetpixel() 可在 PHP-GD 中绘制单个像素点,语法为 imagesetpixel($image, $x, $y, $color),需先创建图像资源并分配颜色。示例中创建 100x100 图像,在 (50,50) 处画红点,配合背景填充便于观察,最后输出 PNG 并释放内存。注意坐标从 (0,0) 开始,颜色需预先定义,单个像素可因尺寸小不易见,建议放大或组合多点显示。

在 PHP-GD 中绘制单个像素点,可以通过 imagesetpixel() 函数实现。这个函数允许你在指定坐标位置设置一个像素的颜色。
使用 imagesetpixel() 绘制像素点
语法:
imagesetpixel( $image, $x, $y, $color )
其中:
- $image:图像资源(由 imagecreatetruecolor 或 imagecreate 创建)
- $x:像素点的横坐标(从左到右)
- $y:像素点的纵坐标(从上到下)
- $color:颜色标识符(通过 imagecolorallocate 定义)
完整示例:在图片上画一个红点
下面是一个简单的例子,创建一张 100x100 的图像,并在坐标 (50, 50) 处画一个红色像素点:
// 创建真彩色图像 $image = imagecreatetruecolor(100, 100);// 分配颜色(红色) $red = imagecolorallocate($image, 255, 0, 0);
// 可选:填充背景为白色,便于观察 $white = imagecolorallocate($image, 255, 255, 255); imagefill($image, 0, 0, $white);
// 在坐标 (50, 50) 画一个红色像素点 imagesetpixel($image, 50, 50, $red);
// 输出图像(PNG 格式) header('Content-Type: image/png'); imagepng($image);
// 释放内存 imagedestroy($image);
注意事项
- 像素坐标从 (0,0) 开始,即左上角
- 确保颜色已通过 imagecolorallocate() 正确分配
- 如果图像太小,单个像素可能不易看见,可结合放大或绘制多个点增强视觉效果
- 使用完图像资源后,建议调用 imagedestroy() 释放内存
基本上就这些,不复杂但容易忽略细节。











