Posts Tagged CodeIgniter

Crear imagenes miniaturas con CodeIgniter

El Framework  en PHP llamado   CodeIgniter el cual utilizo al momento de crear aplicaciones en PHP, trae un conjunto de librerías y entre ellas esta una para la manipulación de imágenes.

El objetivo de este ejemplo es mostrar como utilizando el metodo image_lib->resize() de la librería image_lib podemos crear imagenes miniaturas a partir de cualquier imagen que se encuentre en nuestro servidor.

La función en el código de ejemplo debe ser colocada en cualquier parte de un controlador de CodeIgniter para cargar la libreria image_lib, luego le asignamos una serie de parámetros de configuración en donde especificamos como queremos dimensionar la imagen miniatura, como se va a llamar la imagen, etc.

/**
 *
 * @param $imagen: ruta de la imagen en el servidor
 * @param $nombre_archivo: nombre del archivo
 * @param $ancho: ancho para la imagen a generar
 * @param $alto: alto de la imagen a generar
 * @return void
 */
 function crear_thumbnail($imagen, $nombre_archivo, $ancho, $alto)
 {
 // cargar libreria de imagen
 $this->load->library('image_lib');

 // dividir el nombre del archivo y tomar el nombre y extension del archivo
 $nombre_archivo = split("[.]", $nombre_archivo);

 // crear valores de configuracion para cargar la libreria
 $config['image_library'] = 'GD2';   // libreria a utilizar
 $config['source_image'] = $imagen;  // imagen fuente, aqui se debe colocar la ruta completa del archivo en el servidor tomando como referencia la raíz del sitio (ejemplo ./uploads/)
 $config['width'] = $ancho;          // ancho de la imagen a generar
 $config['height'] = $alto;          // alto de la imagen a generar
 $config['create_thumb'] = TRUE;     // especificar que se quiere generar un thumbnail
 $config['new_image'] = './uploads/home_party/thumbnails/'.$nombre_archivo[0].'_'.$ancho.'x'.$alto.'.'.$nombre_archivo[1];  // nombre y ubicacion de la imagen miniatura
 $this->image_lib->initialize($config);  // asignar parametros de configuracion a la libreria

 $this->image_lib->resize();         // crear thumbnail
 }

Para mas información de la libreria puedes consultar la guia de usuario de CodeIgniter.

,

2 Comments