Outbook

HTML+CSS+JS, Accesibilidad, PHP y más

Inicio que contiene a Desarrollo web que contiene a PHP que contiene a PHP: clase para recortar imágenes

Datos de búsqueda

PHP: clase para recortar imágenes

Hoy me he encontrado con una clase PHP para recortar imágenes.

He aquí el código para la clase (solo le he añadido un pequeño detalle para poder elegir el tamaño de la imagen resultante):

class cropImage {
 var $imgSrc,$myImage,$cropHeight,$cropWidth,$x,$y,$thumb;

 function setImage($image) {

  //Your Image
  $this->imgSrc = $image;

  //getting the image dimensions
  list($width, $height) = getimagesize($this->imgSrc);

  //create image from the jpeg
  $this->myImage = imagecreatefromjpeg($this->imgSrc) or die("Error: Cannot find image!");
  if($width > $height) $biggestSide = $width; //find biggest length
  else $biggestSide = $height;

  //The crop size will be half that of the largest side
  $cropPercent = .5; // This will zoom in to 50% zoom (crop)
  $this->cropWidth   = $biggestSide*$cropPercent;
  $this->cropHeight  = $biggestSide*$cropPercent;

  //getting the top left coordinate
  $this->x = ($width-$this->cropWidth)/2;
  $this->y = ($height-$this->cropHeight)/2;
}

 function createThumb($size) {
  $thumbSize = $size; // will create a 250 x 250 thumb
  $this->thumb = imagecreatetruecolor($thumbSize, $thumbSize);
  imagecopyresampled($this->thumb, $this->myImage, 0, 0,$this->x, $this->y, $thumbSize, $thumbSize, $this->cropWidth, $this->cropHeight);
 }

 function renderImage() {
  header('Content-type: image/jpeg');
  imagejpeg($this->thumb);
  imagedestroy($this->thumb);
 }

}

Y se utiliza con el siguiente código:

$image = new cropImage;
$image->setImage($img);
$image->createThumb($size);
$image->renderImage();

La variable $img es la url de la imagen original, y la variable $size es el tamaño de imagen (sale con forma de cuadrado), tanto de anchura como de altura (ha de ser un número entero).

Comentarios del artículo

Los comentarios están cerrados.

Si el comentario no guarda relación con el tema del artículo o los comentarios previos, si la redacción del mismo es ilegible (estilo HOYGAN), o si contiene insultos u otros términos ofensivos, será borrado de inmediato. No se garantiza ningún soporte a los ejemplos de desarrollo web presentados en este sitio.

Hay 4 comentarios a “PHP: clase para recortar imágenes”

Anonymous dice:

Fecha de comentario: 2008/12/24 15:35

Podemos tambien especificar un "recorte minimo" para perder lo menos posible de la imagen original al ajustarla a nuestras medidas (y evitar bordes negros) con la linea
if($width>$height) { $cropPercent = 1/($width/$height);} else { $cropPercent = 1/($height/$width);}

saludos

carlos dice:

Fecha de comentario: 2010/03/16 15:40

el ejercisio no funciona, que mal explicado de donde viene $size

ariel dice:

Fecha de comentario: 2011/08/12 19:18

Coincido, mal explicado, este codigo no funciona en absoluto, mal aporte

Omar hernandez dice:

Fecha de comentario: 2012/01/14 06:41

Si funciona , el problema es que necesitas hacerle un par de modificaciones

Información del sitio