note 38265 added to function.imagecopyresampled

From: Date: Sun, 14 Dec 2003 15:27:00 +0000
Subject: note 38265 added to function.imagecopyresampled
Groups: php.notes 
Request: Send a blank email to php-notes+get-61939@lists.php.net to get a copy of this message
<? /** * Función sencilla para a creación de imágenes. * Solo redimensiona si se supera un máximo de ancho o alto. **/ function resize_imx ($imx,$max_x=500,$max_y=500) { list($sx,$sy,$tipo) = getimagesize($imx); if ($sx > $max_x || $sy > $max_y) { list($dx,$dy) = $get_image_sizes($sx,$sy,$max_x,$max_y); switch ($tipo) { case 1: //GIF $source_id = imageCreateFromGif($imx); break; case 2: //JPEG $source_id = imageCreateFromJpeg($imx); break; case 3: //PNG $source_id = imageCreateFromPng($imx); break; default: return false; break; } $source_id = imageCreateFromJPEG($imx); $target_id = imagecreatetruecolor($dx, $dy); $target_pic = imagecopyresampled($target_id,$source_id,0,0,0,0,$dx,$dy,$sx,$sy); return imagejpeg($target_id); } else return readfile($imx); } function get_image_sizes ($ancho,$alto,$max_x,$max_y) { if ($ancho > $alto) { if ($ancho > $max_x) { $n_ancho = $max_x; $n_alto = ($n_ancho*$alto)/$ancho; } else { $n_ancho = $ancho; $n_alto = ($n_ancho*$alto)/$ancho; }; settype($n_alto,"integer"); } elseif ($alto > $ancho) { if ($alto > $max_y) { $n_alto = $max_y; $n_ancho = ($n_alto*$ancho)/$alto; } else { $n_alto = $alto; $n_ancho = ($n_alto*$ancho)/$alto; }; settype($n_ancho,"integer"); } else { if ($n_ancho > $max_x) { $n_alto = $max_x; $n_ancho = $max_y; } else { $n_alto = $alto; $n_ancho = $ancho; }; }; return array($n_ancho,$n_alto); } ?> ---- Manual Page -- http://www.php.net/manual/en/function.imagecopyresampled.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+38265 Delete -- http://master.php.net/manage/user-notes.php?action=delete+38265&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+38265&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#61939) next »