Computer >> Máy Tính >  >> Lập trình >> PHP

Làm thế nào để cắt một hình ảnh thành hình chữ nhật nhất định bằng cách sử dụng hàm imageecrop () bằng PHP?

imageecrop () là một hàm có sẵn trong PHP được sử dụng để cắt hình ảnh thành hình chữ nhật nhất định. Nó cắt hình ảnh từ khu vực hình chữ nhật nhất định và trả về hình ảnh đầu ra. Hình ảnh đã cho không được sửa đổi.

Cú pháp

resource imagecrop ($image, $rect)

Tham số

imageecrop () có hai tham số, $ image $ direct .

  • $ hình ảnh - Đây là tham số được trả về bởi các hàm tạo hình ảnh, chẳng hạn như imageecreatetruecolor () . Nó được sử dụng để tạo kích thước của hình ảnh.

  • $ direct - Hình chữ nhật cắt là một mảng có các phím X, Y, chiều rộng và chiều cao.

Giá trị trả lại

imageecrop () trả về tài nguyên hình ảnh đã cắt khi thành công hoặc trả về sai khi không thành công.

Ví dụ

<?php
   // It will create an image from the given image
   $img = imagecreatefrompng('C:\xampp\htdocs\Images\img34.png');
   
   // This will find the size of the image
   $size = min(imagesx($img), imagesy($img));
   
   //This will set the size of the cropped image.
   $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);
?>

Đầu ra

Nhập hình ảnh trước khi sử dụng hàm imageecrop ()

Làm thế nào để cắt một hình ảnh thành hình chữ nhật nhất định bằng cách sử dụng hàm imageecrop () bằng PHP?

Đầu ra hình ảnh sau khi sử dụng hàm imageecrop ()

Làm thế nào để cắt một hình ảnh thành hình chữ nhật nhất định bằng cách sử dụng hàm imageecrop () bằng PHP?

Ví dụ 2

<?php
   //load an image from the local drive folder.
   $filename = 'C:\xampp\htdocs\Images\img34.png';
   $img = imagecreatefrompng($filename );

   $ini_x_size = getimagesize($filename)[0];
   $ini_y_size = getimagesize($filename )[1];

   //the minimum of xlength and ylength to crop.
   $crop_measure = min($ini_x_size, $ini_y_size);
   // Set the 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);
?>

Đầu ra

Làm thế nào để cắt một hình ảnh thành hình chữ nhật nhất định bằng cách sử dụng hàm imageecrop () bằng PHP?