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

วิธีการตัดครอบภาพอัตโนมัติด้วยฟังก์ชัน imagecropauto() ใน PHP

imagecropauto() เป็นฟังก์ชันในตัวของ PHP ที่ใช้เพื่อตัดครอบภาพอัตโนมัติโดยใช้โหมดที่มีอยู่หนึ่งในหลายโหมด

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

resource imagecropauto(resource $image, int $mode, float $threshold, int $color)

พารามิเตอร์

imagecropauto() รับพารามิเตอร์ 4 ตัว ได้แก่ $image, $mode, $threshold และ $color

  • $image - ระบุทรัพยากรภาพที่จะตัดครอบ

  • $mode - เป็นพารามิเตอร์เสริม ใช้ระบุจำนวนเต็มที่สอดคล้องกับโหมดการตัดครอบ ด้านล่างนี้คือรายการโหมดการตัดครอบ:

    • IMG_CROP_DEFAULT - ทำงานเหมือนโหมด IMG_CROP_TRANSPARENT

    • IMG_CROP_TRANSPARENT - ใช้ตัดพื้นหลังโปร่งใสออก

    • IMG_CROP_BLACK - ใช้ตัดพื้นหลังสีดำออก

    • IMG_CROP_WHITE - ใช้ตัดพื้นหลังสีขาวออก

    • IMG_CROP_SIDES - ใช้มุมสี่มุมของภาพเพื่อพยายามตรวจจับพื้นหลังเพื่อตัดครอบ

    • IMG_CROP_THRESHOLD - ใช้ตัดครอบภาพโดยใช้ threshold และสีที่กำหนด

  • $threshold - พารามิเตอร์เสริม ใช้ระบุความทนทานในร้อยละที่ใช้ขณะเปรียบเทียบสีภาพและสีที่จะตัด

  • $color - พารามิเตอร์เสริม ใช้ระบุค่าสี RGB (แดง เขียว น้ำเงิน) หรือดัชนีพาเลตต์

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

imagecropauto() คืนค่าทรัพยากรภาพที่ถูกตัดครอบเมื่อสำเร็จ หรือ false เมื่อล้มเหลว ฟังก์ชัน imagecrop() จะคืนค่า false หากภาพทั้งหมดถูกตัดครอบ

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

<?php 
// โหลดภาพ PNG จากโฟลเดอร์ดิสก์ท้องถิ่น
$img = imagecreatefromjpeg('C:\xampp\htdocs\Images\img33.jpg');
// ตัดพื้นที่สีขาวส่วนเกินของภาพ
$cropped = imagecropauto($img, IMG_CROP_WHITE);
// แปลงเป็นไฟล์ GIF
header('Content-type: image/gif');
imagepng($cropped); 
?>

ผลลัพธ์

ภาพที่มีพื้นที่สีขาวด้านข้างก่อนใช้พารามิเตอร์โหมด IMG_CROP_WHITE

วิธีการตัดครอบภาพอัตโนมัติด้วยฟังก์ชัน imagecropauto() ใน PHP

ตัดพื้นที่สีขาวจากด้านข้างหลังใช้โหมด IMG_CROP_WHITE ของพารามิเตอร์

วิธีการตัดครอบภาพอัตโนมัติด้วยฟังก์ชัน imagecropauto() ใน PHP

หมายเหตุ - เราสามารถใช้โหมดพารามิเตอร์ที่แตกต่างกันที่กำหนดไว้เพื่อตัดครอบภาพได้ ตัวอย่างเช่น เราสามารถใช้ IMG_CROP_BLACK ซึ่งจะตัดส่วนสีดำของภาพ