Hàm imagecrop() trong PHP có nhiệm vụ cắt một ảnh theo tỷ lệ nhất định.
imagecrop ( resource $image , array $rect ) : resource
Tham số truyền vào
- $image là nguồn của ảnh, hoặc được tạo từ hàm imagecreatetruecolor().
- $rect là kích thước cắt ảnh theo toạ độ x,y và width,height.
Giá trị trả về
Hàm này trả về đường dẫn của file được Crop nếu thành công và trả về FALSE nếu thất bại.
Ví dụ minh họa
<?php $im = imagecreatefromjpeg('example.jpg'); $size = min(imagesx($im), imagesy($im)); $im2 = imagecrop($im, ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size]); if ($im2 !== FALSE) { imagepng($im2, 'example-cropped.png'); imagedestroy($im2); } imagedestroy($im); ?>
Ảnh ban đầu
Ảnh sau khi được Crop
Ứng dụng
<?php $new = imagecreatefromjpeg('example.jpg'); function cropImage($src) { $crop_width = imagesx($src); $crop_height = imagesy($src); $size = min($crop_width, $crop_height); if($crop_width >= $crop_height) { $newx= ($crop_width-$crop_height)/2; $im2 = imagecrop($src, ['x' => $newx, 'y' => 0, 'width' => $size, 'height' => $size]); } else { $newy= ($crop_height-$crop_width)/2; $im2 = imagecrop($src, ['x' => 0, 'y' => $newy, 'width' => $size, 'height' => $size]); } return imagejpeg($im2,'example_crop.jpg',90); } cropImage($new); ?>
Ảnh trước khi Crop
Ảnh sau khi Crop
Trong ví dụ trên bạn có thể sử dụng để crop lấy trung tâm của ảnh gốc.
Các hàm liên quan
- imagecreatetruecolor() hàm tạo một khung ảnh với 2 tham số width,height.
- imagecolorallocate() hàm xác định giá trị màu sắc theo chuẩn màu rgb.
- imagestring() hàm tạo text vào ảnh.
- imagecropauto() hàm crop ảnh theo chế độ có sẵn.
Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm imagecrop() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé. Cảm ơn bạn đã ghé thăm codetutam.com