如何在 PHP 中使用 imagesetpixel() 函数设置单个像素?
imagesetpixel() 是 PHP 中的一个内置函数,用于设置列出坐标处的单个像素。
语法
bool imagesetpixel(resource $image, int $x, int $y, int $color)
参数
imagesetpixel() 接受四个参数:$image、$x、$y 和 $color。
$image − 指定要操作的图像资源。
$x − 指定像素的 x 坐标。
$y − 指定像素的 y 坐标。
$color − 指定像素的颜色。
返回值 −
imagesetpixel() 成功时返回 True,失败时返回 False。
示例 1
<?php // Load the png image using imagecreatefromjpeg() function $img = imagecreatefromjpeg('C:\xampp\htdocs\test\29.jpg'); // Draw the line using imagesetpixel() function $blue = imagecolorallocate($img, 255, 255, 0); for ($i = 0; $i < 1000; $i++) { imagesetpixel($img, $i, 100, $blue); } // Show the output image to the browser header('Content-type: image/png'); imagepng($img); ?>
输出
示例 2
<?php $x = 700; $y = 300; $gd = imagecreatetruecolor($x, $y); $corners[0] = array('x' => 100, 'y' => 10); $corners[1] = array('x' => 0, 'y' => 170); $corners[2] = array('x' => 190, 'y' => 170); $blue = imagecolorallocate($gd, 255, 0, 0); for ($i = 0; $i < 100000; $i++) { imagesetpixel($gd, round($x),round($y), $blue); $a = rand(0, 2); $x = ($x + $corners[$a]['x']) / 2; $y = ($y + $corners[$a]['y']) / 2; } header('Content-Type: image/png'); imagepng($gd); ?>
输出
广告