Helpers – Image- Manipulaciones de imágenes
Funciones para la manipulación de imágenes y sus caracterÃsicas.
/** * HelperImage.php * @author Code Develium */ namespace Helpers; /** * Class HelperImage */ abstract class HelpImage { /** * Crea una miniatura de un aimagen en función a una proporción * indicada. * Se puede modificar la calidade de la miniatura. * Devuelve true si se ha generado la miniatura o false en otro * caso * * @param $nombre_imagen * @param $nombre_mini * @param $proporcion * @param int $calidad * * @return bool */ public static function generarMminiatura( $nombre_imagen, $nombre_mini, $proporcion, $calidad = 75) { // Al archivo ha de existir if (! file_exists($nombre_imagen)) { return false; } // Miramos que extensión tiene $extension = HelpString::toLower( HelpFile::getOnlyExtension( $nombre_imagen) ); if (HelpValidate::isEmpty($extension)) { return false; } if ($extension == 'png') { $img = imagecreatefrompng($nombre_imagen); } elseif ($extension = 'jpg') { $img = imagecreatefromjpeg($nombre_imagen); } else { // Otra extensión return false; } // Dimensiones actuales de la imagen $ancho_actual = imagesx($img); $alto_actual = imagesy($img); // Calculamos las dimenstions de la miniatura $ancho_mini = $ancho_actual * $proporcion; $alto_mini = $alto_actual * $proporcion; // Creamos imagen contenedor con la misma proporción $img_miniatura = imagecreatetruecolor( $ancho_mini, $alto_mini); // Copiamos la imagen original a la reducida imagecopyresized($img_miniatura, $img, 0, 0, 0, 0, $ancho_mini, $alto_mini, $ancho_actual, $alto_actual); // Generamos la miniatura imagejpeg($img_miniatura, $nombre_mini, $calidad); return true; } }