imagecrop

(PHP 5 >= 5.5.0, PHP 7)

imagecropCrop an image to the given rectangle

说明

resource imagecrop ( resource $image , array $rect )

Crops an image to the given rectangular area and returns the resulting image. The given image is not modified.

参数

image

由图象创建函数(例如imagecreatetruecolor())返回的图象资源。

rect

The cropping rectangle as array with keys x, y, width and height.

返回值

Return cropped image resource on success 或者在失败时返回 FALSE.

范例

Example #1 imagecrop() example

This example shows how to crop an image to a square area.

<?php
$im 
imagecreatefrompng('example.png');
$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');
}
?>

参见

  • imagecropauto() - Crop an image automatically using one of the available modes

User Contributed Notes

vanadragos at yahoo dot com 26-Oct-2017 12:09
To get the center crop of a image in php:

           
$new = imagecreatefromjpeg($uploadedfile);

    $crop_width = imagesx($new);
    $crop_height = imagesy($new);
               
            $size = min($crop_width, $crop_height);
           
           
            if($crop_width >= $crop_height) {
            $newx= ($crop_width-$crop_height)/2;
           
            $im2 = imagecrop($new, ['x' => $newx, 'y' => 0, 'width' => $size, 'height' => $size]);
            }
            else {
                $newy= ($crop_height-$crop_width)/2;
           
                $im2 = imagecrop($new, ['x' => 0, 'y' => $newy, 'width' => $size, 'height' => $size]);
                }
           
               
    imagejpeg($im2,$filename,90);
robert at woodst dot com 02-Jul-2016 02:48
It appears that imagecrop() will output a black line along the bottom the resulting image until version 5.6.12. Your only choices are to upgrade PHP or use imagecopyresampled().

http://php.net/ChangeLog-5.php#5.6.12 (bug #67447)