July 24th, 2008 Category: linux php5
6 Comments »

Hay varias funciones y librerías dando vueltas por Internet para manipular la resolucion de imagenes con PHP. Hay algo mas facil que usar estas librerias y es a traves del comando convert. Este comando nos permite manipular imagenes y videos desde el shell de linux.

Para cambiar la resolucion de una imagen que originalmente tiene 1280×1024 a 120×100 solo tendriamos que ejecutar desde el shell la siguiente linea.

$ convert -resize 120×100 archivo_original.jpg archivo_resultante.jpg

En el directorio vamos a ver un archivo nuevo llamado “archivo_resultante.jpg”, el cual va a tener una resolucion de 120×100.

Esto es util cuando sabemos que no vamos a necesitar cargar imagenes mas grandes que esa, o queremos generar thumbnails de nuestras fotos.

Si esto lo queremos ejecutar desde php solo tenemos que usar el comando system de php.

Un codigo de ejemplo utilizando esta funcion seria el siguiente.



Invitame una Cerverza


Comentar


6 Responses

Pablo Morales 2008-07-24 13:22:20
Estos dias tuve unos inconvenientes para subir este post a wordpres, al parecer es una medida de seguridad de dreamhost, por lo que lei por ahi, por esta razon, el codigo que subo no tiene el ";" al final de la linea.

Voy a tratar de investigar un poco mas, pero si alguien lo soluciono, me avisa.

El Barto 2008-07-24 15:17:33
Buuuuu fuera system, aguante exec! :P

Ahora... de dónde saco el convert? Porque no es algo propio de Linux (GNU), ni suele venir en las distribuciones más comunes de Linux.

Estaría bueno conseguir bencharmks de comparación entre GD, este programa que decís vos y otras libs que hay dando vueltas. De por sí no me gusta mucho ejecutar cosas con system/exec (ya el tema de tener que forkear un proceso para esto no me cabe mucho). Pero habría que ver si realmente vale la pena en comparación a GD por ejemplo.

Saludos

Pablo Morales 2008-07-24 15:20:29
Jejeje, supongo que sabes pero lo preguntas porque no lo aclare.
Viene con ImageMagick, nativas en Pedorra (Fedora), y Ubuntu Hardy Heron por lo menos.

charls 2010-02-03 14:06:01
MMM que mal asi no es negocio. :(

José Carlos 2010-09-29 20:25:48
Pasar de 1280x1024 pixels a 120x100 no es cambiar la resolución, es cambiar el tamaño. La resolución es la cantidad de pixels por unidad de medida real, por ejemplo pixels por pulgada o pixels por centímetro.

Ruthie Urquiza 2011-05-28 23:08:40
awesome blog man, I really feel your writing style that you are using for your posts and stuff, really hollywood...