Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

PHP – Thiết lập điểm ảnh đơn lẻ với imagesetpixel()

imagesetpixel() là hàm nội bộ trong PHP dùng để thiết lập một điểm ảnh (pixel) đơn lẻ tại tọa độ chỉ định.

Cú pháp

bool imagesetpixel(GdImage $image, int $x, int $y, int $color)

Tham số

imagesetpixel() chấp nhận bốn tham số: $image, $x, $y và $color.

  • $image – Tài nguyên ảnh để làm việc.

  • $x – Tọa độ x của điểm ảnh.

  • $y – Tọa độ y của điểm ảnh.

  • $color – Màu của điểm ảnh.

Giá trị trả về

imagesetpixel() trả về true khi thành công và false khi thất bại.

Ví dụ 1 – Vẽ đường thẳng bằng điểm ảnh

<?php
// Tải ảnh PNG bằng imagecreatefromjpeg()
$img = imagecreatefromjpeg('C:\xampp\htdocs\test\29.jpg');
// Vẽ đường thẳng bằng imagesetpixel()
$blue = imagecolorallocate($img, 255, 255, 0);
for ($i = 0; $i < 1000; $i++) {
    imagesetpixel($img, $i, 100, $blue);
}
// Hiển thị ảnh ra trình duyệt
header('Content-type: image/png');
imagepng($img);
?>

Kết quả

PHP – Thiết lập điểm ảnh đơn lẻ với imagesetpixel()

Ví dụ 2 – Tạo fractal Sierpinski

<?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);
?>

Kết quả

PHP – Thiết lập điểm ảnh đơn lẻ với imagesetpixel()