Como resultado quiero obtener una nueva imágen, siempre de 640x480, las imágenes "para procesar" siempre son de mayor tamaño.
Supongamos que tengo una imágen 800x600 para procesar, si la scaleo a 640x480 quedaría bien, pero que pasa si la imágen entrante es 1000x600, queda mal escalada.
Entonces lo que quiero hacer es que 1000x600 baje a 640x480 sin distorcionar la imágen, en todo caso que corte un pedazo de la imágen, pero no que la escalee mal.
Algun ejemplo de como hacer esto?
En realidad es una regla de tres simple :P ya que buscas la misma proporcionalidad entre altura y ancho
Si el ancho es mayor que la altura, AlturaFinal = 480 * Ancho / Alto. (sino al revés) :xD
Revisa la formula (hace bastante que no practico matemática :xD)