Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách cắt hình ảnh tự động bằng hàm imagecropauto() trong PHP

imagecropauto() là hàm tích hợp sẵn trong PHP dùng để cắt hình ảnh tự động bằng một trong các chế độ có sẵn.

Cú pháp

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

Tham số

imagecropauto() nhận bốn tham số: $image, $mode, $threshold, $color.

  • $image - Tài nguyên hình ảnh cần cắt.

  • $mode - Tham số tùy chọn, số nguyên tương ứng với chế độ cắt:

    • IMG_CROP_DEFAULT - Hoạt động như IMG_CROP_TRANSPARENT.

    • IMG_CROP_TRANSPARENT - Cắt nền trong suốt.

    • IMG_CROP_BLACK - Cắt nền đen.

    • IMG_CROP_WHITE - Cắt nền trắng.

    • IMG_CROP_SIDES - Sử dụng 4 góc hình ảnh để phát hiện nền cần cắt.

    • IMG_CROP_THRESHOLD - Cắt hình ảnh sử dụng ngưỡng và màu cho trước.

  • $threshold - Tham số tùy chọn, dung sai phần trăm khi so sánh màu hình ảnh và màu cắt.

  • $color - Tham số tùy chọn, giá trị RGB hoặc chỉ số palette.

Giá trị trả về

imagecropauto() trả về tài nguyên hình ảnh đã cắt khi thành công, false khi thất bại. Hàm imagecrop() trả về false nếu toàn bộ hình ảnh bị cắt.

Ví dụ 1

<?php 
// Tải hình ảnh PNG từ thư mục cục bộ
$img = imagecreatefromjpeg('C:\xampp\htdocs\Images\img33.jpg');
// Cắt vùng trắng thừa
$cropped = imagecropauto($img, IMG_CROP_WHITE);
// Chuyển sang file GIF
header('Content-type: image/gif');
imagepng($cropped);
?>

Kết quả

Hình ảnh có vùng trắng hai bên trước khi dùng tham số IMG_CROP_WHITE.

Cách cắt hình ảnh tự động bằng hàm imagecropauto() trong PHP

Cắt vùng màu trắng từ hai bên sau khi dùng chế độ IMG_CROP_WHITE.

Cách cắt hình ảnh tự động bằng hàm imagecropauto() trong PHP

Lưu ý - Có thể dùng các chế độ khác như IMG_CROP_BLACK để cắt phần đen của hình ảnh.