imagecrop() เป็นฟังก์ชันในตัวของ PHP ที่ใช้เพื่อตัดครอบภาพให้เป็นสี่เหลี่ยมที่กำหนด ฟังก์ชันนี้จะตัดภาพจากพื้นที่สี่เหลี่ยมที่กำหนดและคืนค่าภาพผลลัพธ์ ภาพต้นฉบับจะไม่ถูกแก้ไข
รูปแบบการใช้งาน (Syntax)
resource imagecrop ($image, $rect)
พารามิเตอร์
imagecrop() รับพารามิเตอร์ 2 ตัว ได้แก่ $image และ $rect
$image - เป็นพารามิเตอร์ที่คืนค่าจากฟังก์ชันสร้างภาพ เช่น imagecreatetruecolor() ใช้สำหรับสร้างขนาดของภาพ
$rect - สี่เหลี่ยมสำหรับการตัดครอบเป็นอาร์เรย์ที่มีคีย์ X, Y, width, และ height
ค่าที่คืนกลับ (Return Values)
imagecrop() คืนค่าทรัพยากรภาพที่ถูกตัดครอบเมื่อสำเร็จ หรือคืนค่า false เมื่อล้มเหลว
ตัวอย่าง
<?php
// สร้างภาพจากไฟล์ภาพที่กำหนด
$img = imagecreatefrompng('C:\xampp\htdocs\Images\img34.png');
// หาขนาดของภาพ
$size = min(imagesx($img), imagesy($img));
// ตั้งค่าขนาดของภาพที่ตัดครอบ
$img2 = imagecrop($img, ['x' => 0, 'y' => 0, 'width' => 500, 'height' => 320]);
if($img2 !== FALSE) {
imagepng($img2, 'C:\xampp\htdocs\pic_cropped.png');
imagedestroy($img2);
}
imagedestroy($img);
?>
ผลลัพธ์
ภาพอินพุตก่อนใช้ฟังก์ชัน imagecrop()

ภาพเอาต์พุตหลังใช้ฟังก์ชัน imagecrop()

ตัวอย่างที่ 2
<?php
// โหลดภาพจากโฟลเดอร์ดิสก์ท้องถิ่น
$filename = 'C:\xampp\htdocs\Images\img34.png';
$img = imagecreatefrompng($filename);
$ini_x_size = getimagesize($filename)[0];
$ini_y_size = getimagesize($filename)[1];
// ค่าต่ำสุดของความกว้างและความสูงเพื่อตัดครอบ
$crop_measure = min($ini_x_size, $ini_y_size);
// ตั้งค่า content-type header
//header('Content-Type: image/png');
$crop_array = array('x' => 0, 'y' => 0, 'width' => $crop_measure, 'height' => $crop_measure);
$thumb_img = imagecrop($img, $crop_array);
imagejpeg($thumb_img, 'thumb.png', 100);
?>
ผลลัพธ์
