1.- Tomar los valores de alto y ancho de imagen
Ej. 120, 100
2.- Construye un factor (ancho/alto)
Ej. 120/100 = 1.2
*El ancho es 1.2 dos veces grande que el alto...
3.- Establece un ancho y un alto máximo
Ej.
AnchoMax = 200
AltoMax = 180
4.- Toma el mayor de los valores, identificando cuales son(ancho, alto)
Ej. Maximo = 200 'es el ancho
5.- Evaluas, si el ancho es mayor entonces
como el maximo debe ser
200 entonces
ancho =
200
alto =
200/factor->
200/1.6666
alto = 120.0048
Ya tienes las proporciones necesarias

obviamente hay varios casos a considerar, como el de que los valores se inviertan uno mayor que otro, etc...
Un componente gratuito para saber el tamaño de las imágenes..
http://www.serverobjects.com/comp/imgsize.zip
Mis 2 centavos,
Salu2,
Editando: En negritas los cambios, me perdí con los valores, tenían 150, debe ser 200 de acuerdo a los valores establecidos antes...