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

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

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