imagecolorclosest()

ฟังก์ชันที่เกี่ยวข้องกับการจัดการสีมีมากมายใน PHP programming ไม่ว่าจะการกำหนดสี หรือ อ่านข้อมูลของภาพเพื่อให้ได้สี บทความนี้จะอธิบายและยกตัวอย่าง การใช้ฟังก์ชั่น imagecolorclosest ()  ซึ่งเป็นหนึ่งในฟังก์ชันเกี่ยวกับสี

ฟังก์ชั่น imagecolorclosest () เป็นฟังก์ชั่นใช้ในการรับ index สีที่ใกล้เคียงที่สุดในภาพที่กำหนด ฟังก์ชั่นนี้จะส่งคืน index ของสีในจานสีของภาพซึ่งใกล้เคียงกับค่า RGB  ที่ระบุไว้

 

รูปแบบ syntex 

imagecolorclosest ( resource $image , int $red , int $green , int $blue ) : int

พารามิเตอร์:

  • $ image : จะเป็นค่าที่ถูกส่งคืนโดยหนึ่งในฟังก์ชั่นการสร้างภาพเช่น imagecreatetruecolor() , imagecreate()  ซึ่งจะใช้เพื่อสร้างภาพ
  • $ red:  เพื่อตั้งค่าองค์ประกอบสีแดง
  • $ green: เพื่อตั้งค่าองค์ประกอบสีเขียว
  • $ blue: เพื่อตั้งค่าองค์ประกอบสีฟ้า

 

พารามิเตอร์สีเป็นจำนวนเต็มระหว่าง 0 ถึง 255 หรือเลขฐานสิบหกระหว่าง 0x00 ถึง 0xFF

 

Return Value:  ฟังก์ชั่นนี้จะคืนค่าดัชนีของสีที่ใกล้เคียงที่สุดในจานสีของภาพ

 

ตัวอย่างโค้ด 

<?php 
  
// Start with an image and convert it to a palette-based image 
$image = imagecreatefrompng( 
'https://www.mindphp.com/images/content/2017-02/Python.png'); 
  
imagetruecolortopalette($image, false, 255); 
  
//  Search closest color 
$result = imagecolorclosest($image, 7, 150, 10); 
  
$result = imagecolorsforindex($image, $result); 
  
$result = "({$result['red']}, {$result['green']}, {$result['blue']})"; 
  
echo "Closest color: " . $result; 
  
imagedestroy($image); 
  
?>

เราใช้รูปภาพจากลิ้งค์นี้ https://www.mindphp.com/images/content/2017-02/Python.png  ผลลัพธ์ที่ได้ คือ index ของสี ดังนี้

Closest color: (93, 93, 93)

จากผลลัพธ์ทำให้ได้รู้ว่า รหัสสีที่มีความใกล้เคียงของภาพดังกล่าวคือ (93, 93, 93)  หรือ RGB(93, 93, 93,) เราสามารถนำไปต่อยอดได้เพื่อ code สีของภาพต่างๆเป็นต้น 

 

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ฟังก์ชัน PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
แนะนำ ISD1820 โมดูลบันทึกเสียง Arduino ใช้ได้กับ ESP8266 ESP32
โดย mindphp อ 31 ธ.ค. 2023 8:02 pm บอร์ด IOT - Internet of things
0
1356
อ 31 ธ.ค. 2023 8:02 pm โดย mindphp View Topic แนะนำ ISD1820 โมดูลบันทึกเสียง Arduino ใช้ได้กับ ESP8266 ESP32
ทำไมทำ Wordpress บน localwp มันช้าครับ ช้ากว่าทำบนโฮสต์จริง
โดย Anonymous อ 31 ธ.ค. 2023 4:20 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
306
อ 31 ธ.ค. 2023 4:20 pm โดย บุคคลทั่วไป View Topic ทำไมทำ Wordpress บน localwp มันช้าครับ ช้ากว่าทำบนโฮสต์จริง
ลดหย่อนภาษีได้ปี 67 สูงสุด 50,000 มีเงือนไขอย่างไรมาดุ
โดย Anonymous อ 31 ธ.ค. 2023 10:37 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
395
อ 31 ธ.ค. 2023 10:37 am โดย บุคคลทั่วไป View Topic ลดหย่อนภาษีได้ปี 67 สูงสุด 50,000 มีเงือนไขอย่างไรมาดุ
เซ็นเซอร์ตรวจจับเสียง เอาไปใช้ทำอะไรได้บ้าง ทำโปรเจ็ค IOT
โดย Anonymous ส 30 ธ.ค. 2023 4:28 am บอร์ด IOT - Internet of things
2
765
ส 30 ธ.ค. 2023 10:48 pm โดย mindphp View Topic เซ็นเซอร์ตรวจจับเสียง เอาไปใช้ทำอะไรได้บ้าง ทำโปรเจ็ค IOT
มีเว็บที่เปิดเป็น localhost ใช้งานได้อยู่ มีวิธีไหนบ้างครับ ที่จะทำให้คนเข้าถึงออนไลน์ได้
โดย Anonymous ส 30 ธ.ค. 2023 4:18 am บอร์ด Programming - PHP
1
322
ส 30 ธ.ค. 2023 10:47 pm โดย mindphp View Topic มีเว็บที่เปิดเป็น localhost ใช้งานได้อยู่ มีวิธีไหนบ้างครับ ที่จะทำให้คนเข้าถึงออนไลน์ได้
ในฐานะผู้ดูแลระบบ (System Administrator) ก่อนเข้าช่วงหยุดยาว เตรียมตัวแบบนี้เพื่อให้หยุดได้อย่างไร้กังวน
โดย mindphp พฤ 28 ธ.ค. 2023 12:20 pm บอร์ด Linux - Web Server
0
572
พฤ 28 ธ.ค. 2023 12:20 pm โดย mindphp View Topic ในฐานะผู้ดูแลระบบ (System Administrator) ก่อนเข้าช่วงหยุดยาว เตรียมตัวแบบนี้เพื่อให้หยุดได้อย่างไร้กังวน
แก้ปัญหา Google Chrome เข้าหน้าเว็บไม่ได้ขึ้น ERROR SSL Key แต่ใช้ browser ตัวอื่นเข้าได้หมด
โดย mindphp พฤ 28 ธ.ค. 2023 7:11 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
348
พฤ 28 ธ.ค. 2023 7:11 am โดย mindphp View Topic แก้ปัญหา Google Chrome เข้าหน้าเว็บไม่ได้ขึ้น ERROR SSL Key แต่ใช้ browser ตัวอื่นเข้าได้หมด
ทำไมการย้ายโดเมนมักแนะนำให้ดำเนินการก่อนหมดอายุ 30 วัน มาดูรายละเอียดกัน Domain Tranfer มีกี่ขั้นตอน
โดย mindphp พฤ 28 ธ.ค. 2023 6:54 am บอร์ด Microsoft Office Knowledge & line & Etc
0
423
พฤ 28 ธ.ค. 2023 6:54 am โดย mindphp View Topic ทำไมการย้ายโดเมนมักแนะนำให้ดำเนินการก่อนหมดอายุ 30 วัน มาดูรายละเอียดกัน Domain Tranfer มีกี่ขั้นตอน