imagecrop() là hàm tích hợp sẵn trong PHP dùng để cắt hình ảnh theo hình chữ nhật cho trước. Hàm cắt hình ảnh từ vùng hình chữ nhật cho trước và trả về hình ảnh đầu ra. Hình ảnh gốc không bị sửa đổi.
Cú pháp
resource imagecrop($image, $rect)
Tham số
imagecrop() nhận hai tham số: $image và $rect.
$image - Tham số trả về bởi hàm tạo hình ảnh như imagecreatetruecolor(). Dùng để tạo kích thước hình ảnh.
$rect - Hình chữ nhật cắt là mảng với khóa x, y, width, height.
Giá trị trả về
imagecrop() trả về tài nguyên hình ảnh đã cắt khi thành công, false khi thất bại.
Ví dụ 1
<?php
// Tạo hình ảnh từ file cho trước
$img = imagecreatefrompng('C:\xampp\htdocs\Images\img34.png');
// Tìm kích thước hình ảnh
$size = min(imagesx($img), imagesy($img));
// Thiết lập kích thước hình ảnh cắt
$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);
?>
Kết quả
Hình ảnh đầu vào trước khi dùng imagecrop()

Hình ảnh đầu ra sau khi dùng imagecrop()

Ví dụ 2
<?php
// Tải hình ảnh từ thư mục cục bộ
$filename = 'C:\xampp\htdocs\Images\img34.png';
$img = imagecreatefrompng($filename);
$ini_x_size = getimagesize($filename)[0];
$ini_y_size = getimagesize($filename)[1];
// Kết cắt theo min chiều rộng/chiều cao
$crop_measure = min($ini_x_size, $ini_y_size);
// 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);
?>
Kết quả
