Hola Raul, se me había pasado por completo el post de Coco porque en ese momento aun no sabia como capturar el tamaño de la foto original.
Lo cierto es que las 200 imágenes que ponga no las conozco y las cargo dinámicamente, es mas, las va a poner el usuario. Entonces no me queda claro si finalmente terminé haciendo lo que indicas (creo que si).
Básicamente me valí de la clase que publique arriba para detectar el ancho y alto de la imagen e invocarlo con una sola linea de código, la que llama a una funcioncita donde evalúo si es mas ancho que alto o mas alto que ancho (las que son cuadradas no las toco) y según eso cambio en tiempo de ejecución el tamaño del ucImage y listo con eso resolví el tema. Todo esto para PNGs.
--------------------------
La verdad y solo de cargoso quiero ser aun mas exacto en el tamaño del ucImage pero ya solo por una mariconada visual, para que la foto se vea aun mejor. A ver si me enrrollo un poco y si se me entiende.
El tamaño máximo del área ocupada por el ucImage es un cuadrado de 6000 x 6000 (creo que son pixeles, la que usa vb), bueno, hay foto mas pequeñas que eso y hay fotos mas grandes, las que son pequeñas las agrando hasta 6000x6000 y las mas grandes las reduzco, pero en el caso de una foto digamos de 3000 por 200 (un lapicero digamos) la debo agrandar hasta 6000 x 400, si la mando de frente el lapicero quedará gordo y por eso deberé reducir el width del ucImage hasta los 400. De allí que estoy probando con proporciones y poder tener la imagen lo mas estética posible.
De momento solo estoy detectando las que son casi el doble de tamaño para multiplicar por un factor y con eso el 99% de las fotos ya se ven mucho mejor a diferencia de antes.
Saludos