imagecrop

(PHP 5 >= 5.5.0, PHP 7)

imagecropRecorta una imagen usando las coordenadas, el tamaño, x, y, ancho y alto dados

Descripción

resource imagecrop ( resource $image , array $rect )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

rect

Array with keys "x", "y", "width" and "height".

Valores devueltos

Devuelve el recurso de la imagen recortada en caso de éxito o FALSE en caso de error.

add a note add a note

User Contributed Notes 3 notes

up
7
robert at woodst dot com
1 year ago
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)
up
0
shaun at slickdesign dot com dot au
19 days ago
Use imagecopyresampled to crop your image instead, and it should work correctly in PHP 5.5+ without any black lines.

<?php
// Desired function call.
$cropped = imagecrop( $image, array( 'x' => $x, 'y' => $y, 'width' => $width, 'height' => $height ) );

// Equivalent function which works in both PHP pre 5.6.12 and 5.6.12+.
$cropped = imagecreatetruecolor( $width, $height );
imagecopyresampled( $cropped, $image, 0, 0, $x, $y, $width, $height, $width, $height );
?>
up
0
vanadragos at yahoo dot com
1 month ago
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);
To Top