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

วิธีการตัดครอบภาพให้เป็นสี่เหลี่ยมที่กำหนดด้วยฟังก์ชัน imagecrop() ใน PHP

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() ใน PHP

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

วิธีการตัดครอบภาพให้เป็นสี่เหลี่ยมที่กำหนดด้วยฟังก์ชัน imagecrop() ใน PHP

ตัวอย่างที่ 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); 
?>

ผลลัพธ์

วิธีการตัดครอบภาพให้เป็นสี่เหลี่ยมที่กำหนดด้วยฟังก์ชัน imagecrop() ใน PHP