Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

การเติมสีแบบ Flood Fill ไปยังสีที่กำหนดใน PHP ด้วยฟังก์ชัน imagefilltoborder() (GD)

imagefilltoborder() เป็นฟังก์ชันในตัวของ PHP ที่ใช้ทำการเติมสีแบบ Flood Fill ด้วยสีที่กำหนด โดยสีขอบถูกกำหนดโดยพารามิเตอร์ border จุดเริ่มต้นของการเติมคือ (x,y) หรือมุมซ้ายบนคือ (0, 0) และพื้นที่จะถูกเติมด้วยสีที่ระบุ

รูปแบบการใช้งาน (Syntax)

bool imagefilltoborder(resource $image, int $x, int $y, int $border, int $color)

พารามิเตอร์

imagefilltoborder() รับพารามิเตอร์ 5 ตัว ได้แก่ $image, $x, $y, $border, และ $color

  • $image - เป็นทรัพยากรภาพ

  • $x - ระบุพิกัด x ของจุดเริ่มต้น

  • $y - ระบุพิกัด y ของจุดเริ่มต้น

  • $border - ระบุสีขอบ

  • $color - ระบุสีเติม

ค่าที่คืนกลับ (Return Values)

คืนค่า True เมื่อสำเร็จ และ False เมื่อล้มเหลว

ตัวอย่างที่ 1

<?php 
// โหลดภาพ GIF จากโฟลเดอร์ดิสก์ท้องถิ่น
$img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');
// สร้างสีสำหรับภาพ
$borderColor = imagecolorallocate($img, 0, 200, 0);
$fillColor = imagecolorallocate($img, 122, 122, 122);
// เพิ่มการเติมสีถึงขอบ
imagefilltoborder($img, 0, 0, $borderColor, $fillColor);
// แสดงภาพผลลัพธ์
header('Content-type: image/gif');
imagepng($img); 
?>

ผลลัพธ์

ภาพ GIF ก่อนใช้ฟังก์ชัน imagefilltoborder() ใน PHP

การเติมสีแบบ Flood Fill ไปยังสีที่กำหนดใน PHP ด้วยฟังก์ชัน imagefilltoborder() (GD)

ภาพ GIF หลังใช้ฟังก์ชัน imagefilltoborder() ใน PHP

การเติมสีแบบ Flood Fill ไปยังสีที่กำหนดใน PHP ด้วยฟังก์ชัน imagefilltoborder() (GD)

ตัวอย่างที่ 2: เติมสีในรูปวงรี

<?php 
// สร้างภาพ ตั้งพื้นหลังเป็นสีเทา
$img = imagecreatetruecolor(700, 500);
imagefilledrectangle($img, 0, 0, 500, 500, imagecolorallocate($img, 122, 122, 122));
// วาดวงรีเพื่อเติมสีด้วยขอบสีดำ
imageellipse($img, 300, 300, 300, 300, imagecolorallocate($img, 0, 0, 0));
// ตั้งสีขอบและสีเติมด้วยสีน้ำเงิน
$border = imagecolorallocate($img, 0, 0, 0);
$fill = imagecolorallocate($img, 0, 0, 255);
// เติมสีในพื้นที่ที่เลือก
imagefilltoborder($img, 300, 300, $border, $fill);
// แสดงภาพผลลัพธ์และ釋放หน่วยความจำ
header('Content-type: image/gif');
imagepng($img);
imagedestroy($img); 
?>

ผลลัพธ์

การเติมสีแบบ Flood Fill ไปยังสีที่กำหนดใน PHP ด้วยฟังก์ชัน imagefilltoborder() (GD)