Fecha: 2026-06-06 - San Norberto   Calendario 2026  | Info

Blog Blog

¿Cómo redimensionar imágenes con CodeIgniter?

Autor: Andrés Cruz en Udemy   |   Comentarios: 0

El procesamiento digital de imágenes es un trabajo fundamental que debemos realizar en prácticamente cualquier software administrativo o que cuente con un módulo de gestión hoy en día, tareas como hacerle el resize o cambio de tamaño en una imagen para que ocupe cierto tamaño, bajar de tamaño a la imagen entre otras operaciones son tareas fundamentales que debemos realizar.

No necesitamos incorporar ninguna librería externa como veremos en este tutorial, con lo que nos trae CodeIgniter en su core interno hace el trabajo de cambio de tamaño de la imagen perfectamente y de esta manera optimizar las imágenes según lo requiera nuestro proyecto escalando las imágenes a las proporciones que definamos.

En este artículo veremos cómo redimensionar imágenes con Codeigniter; este artículo representa una extensión del artículo pasado titulado: Upload de archivos con Codeigniter, en el mismo explicamos como subir archivos (uploads) utilizando la librería upload provista por CodeIgniter, obviamente no se puede redimensionar un .doc, .txt, etc, pero si un .png, .jpg, .gif u otros formatos de compresión de imágenes; veamos cómo funciona la librería de image_lib la cual permite redimensionar imágenes como veremos a continuación.

Formas de redimensionar o escalar imágenes con CodeIgniter

Hay dos casos posibles o mejor dicho comunes: podemos redimensionar las imágenes justo después de hacer el upload (carga de imágenes) o podemos redimensionar a cualquier imagen que se encuentre alojada en el servidor por distintos medios, para ambos casos el proceso es el mismo, solo varía de donde obtendremos la data ($data):

Pasaremos por alto temas que ya fueron tratados en el artículo pasado como:

  • Cómo definir el formulario para subir imágenes.
  • Cómo crear el controlador para subir y/o redimensionar la imagen (dependiendo de su preferencia).

Código completo para redimensionar una imagen

>$CI = & get_instance();
    $CI->load->library('image_lib');
    
    $config['image_library'] = 'gd2';
    $config['source_image'] = $data['full_path'];
    $config['new_image'] = 'uploads/';
    $config['maintain_ratio'] = TRUE;
    $config['create_thumb'] = FALSE;
    $config['width'] = >>800;
    $config['height'] = >>800;
    
    $CI->image_lib->initialize($config);
    
    if (!$CI->image_lib->resize()) {
        echo $this->image_lib->display_errors('', '');
    }
    

Analizando el código del resize la imagen anterior

En este ejemplo estamos suponiendo que el redimensionamiento de la imagen se realiza luego de que se ha cargado una imagen en el servidor; por lo tanto se tiene la ventaja de que CodeIgniter puede dar datos sobre el upload o carga de la imagen:

  • Ruta de la imagen.
  • Nombre de la imagen.
  • Extensión de la imagen.

Esos son algunos de los datos que podemos obtener llamando al siguiente método:

>$data= $this->upload->data();
    

Cargando la librería de manipulación de imágenes de CodeIgniter

>        $CI = & get_instance();
    

Como indicamos antes, no es necesario traernos una librería o API de un tercero para cambiar de tamaño una imagen, con lo que nos ofrece CodeIgniter realizamos esta labor perfectamente; lo primero que hacemos en el código anterior es llamar al método get_instance(); el método permite cargar recursos nativos de CodeIgniter; en este caso se cargará la librería que permitirá redimensionar las imágenes.

Ahora si es posible cargar la librería de manipulación de imágenes:

>$CI->load->library('image_lib');
    

Preferencias del redimensionamiento de la imagen

El array $config indica las preferencias para la imagen a manipular (en este caso, a redimensionar); las cuales pueden ser:

Preferencia Valor por defecto Opciones Descripcion
image_library GD2 GD, GD2, ImageMagick, NetPBM Se establece la librería de la imagen a utilizar.
source_image None None La ruta en donde se encuentra la imagen incluyendo el nombre completo de la imagen (con su extensión).
new_image None None La ruta de la imagen generada producto del redimensionamiento. La misma representa la ruta destino en donde se almacenará la imagen.
width None None Se establece el ancho de la imagen.
height None None Se establece el alto de la imagen.
maintain_ratio TRUE TRUE/FALSE (boolean) Especifica si se mantiene las proporciones (TRUE) o no (FALSE) al momento de redimensionar la imagen.
create_thumb FALSE TRUE/FALSE (boolean) Especifica si se creará un thumbnail (TRUE) o imagen en miniatura.

Estos son algunos de las preferencias de la imagen, hay otros como la calidad de la imagen, rotación y corte; los demas los puedes encontrar en la documentación oficial de CodeIgniter; click aquí.

Luego de que hayamos construido el array de configuración $config, inicializamos la librería con:

>$CI->image_lib->initialize($config);
    

Redimensionando la imagen

Ahora si es posible redimensionar la imagen; la siguiente función devuelve un booleano, como podrás imaginar:

  • TRUE el redimensionamiento fue exitoso.
  • FALSE el redimensionamiento no fue exitoso, el error es devuelto con la función:
    >$this->image_lib->display_errors();
        
>if (!$CI->image_lib->resize()) {
        echo $this->image_lib->display_errors();
    }


Su Comentario:

Deje aquí su comentario acerca de este artículo...


Otros artículos del blog

¿Qué precio tiene hacer el diseño de tu página Web?
Adapta tu sitio web a la nueva normativa sobre cookies
Atributo download HTML5 para descargar archivos del servidor mediante enlaces
Botón redondeado con CSS
Bucle para recibir todas las variables por POST en PHP
Carga o upload de archivos con CodeIgniter
Columnas múltiples con CSS3
Como evitar la inyección SQL en PHP
Cómo optimizar la etiqueta de título para atraer más tráfico de Google
Como puedo abrir puertos en mi router para acceder remotamente a mi ordenador personal
Contador de caracteres con JQuery
Copias de seguridad avanzadas para bases de datos MySQL
Creando fácilmente imágenes de relleno para tus prototipos
Crear un sticky desplegable en la web
Detectar el sistema operativo, navegador y versión del cliente
Diseño y desarrollo web a la medida
Ejecutar script automáticamente con Cron en Linux
El elemento meter HTML5
El filtro Blur (desenfoque) en CSS y alguno de sus posibles usos
El filtro Blur (desenfoque) en CSS y alguno de sus posibles usos
El nuevo elemento <picture> de HTML5 para crear imágenes responsive
Elementos fundamentales para trabajar con Codeingniter
Envío de correos o emails con CodeIgniter, guía rápida
Función para extraer la extensión de un archivo con PHP
Guía rápida sobre el elemento br en HTML
Guía rápida sobre el elemento p en HTML
Guía rápida sobre los bordes en CSS
La etiqueta meta viewport en html5
La relación entre el contenido extenso y el convencimiento del usuario
Las fuentes de Google Font para nuestra web y efectos sobre nuestras fuentes
Lo bueno y lo malo del SEO
Los helpers en CodeIgniter para definir nuestras funciones
Mensaje aceptar cookies para cumplir con la Ley General de Protección de Datos (LGPD)
Meta tags de HTML
Múltiples bordes en un contenedor con CSS
Script para automatizar backups de MySQL en servidores Windows
Streams en PHP
Trucos y ejemplos de configuración del archivo htaccess de Apache
Uso de las páginas de error 404 como soporte estratégico de contenidos
¿Cómo crear una API REST con CodeIgniter?
¿Cómo redimensionar imágenes con CodeIgniter?
¿Qué documentos necesitas para solicitar la ayuda como emigrante retornado?
¿Qué es y para qué sirve un archivo robots.txt?