Como escalar imagenes automaticamente si alterar su ratio (aspecto 1:1)

SolidWorD
03 de Noviembre del 2004
Tengo un servdiro Apache con php y MySQL corriendo sobre una maquina linux y me ha surgido una duda al crear una base de datos con una gran cantidad de imagenes jpg, gif, bmp, etc..
El problemas es que cuando hago la consulta al servidor MySQL este me devuelve una cantidad de imagenes que puede variar desde 1 hasta unas 10 o 15 y cada una con un ratio distinto (aspecto 1:1). Hay alguna forma de saber el ratio de una imagen para escalarla sin perder su formato teniendo en cuenta que no se sabe, en principio, el ratio de la misma.
En caso de no poder hacer esto con PHP, ¿Hay alguna forma de hacerlo con otro lenguaje "autmaticamente" por cada imagen?

SolidWorD
03 de Noviembre del 2004
Como no lo he puesto antes:
Las imagenes las tengo guardadas en la base de datos por ruta (varchar con la ruta a la imagen), no como binario (blob).

estupendita
03 de Noviembre del 2004
Supongo que con el 'ratio' de la imagen te refieres al tamaño, eso lo puedes conocer con la función "getimagesize()" que te devuelve un array donde el primer elemento (0) es el ancho de la imagen y el segundo (elemento 1 del array) es la altura.
Hay funciones para escalar una imagen, "imagecopyresampled" te permite escalar la imagen y puedes especificarle unas coordenadas para que recorte los bordecitos lo justo para que no se deforme.
En www.php.net busca "image" en la lista de funciones y te salen todas las cosas que puedes hacer con una imagen. Es una pasada.

SolidWorD
03 de Noviembre del 2004
.