Definiendo el tamaño de una imagen

Definiendo el tamaño de una imagen

Esta vez les hablare con algo que me tope en el camino del desarrollo de aplicaciones web..

Resulta que estaba desarrollando una aplicación y para ello mostraba una imágenes en un formulario  todo marcha bien hasta me empece a dar cuenta que no todas las imágenes que mostraba  eran del mismo tamaño lo primero que se me ocurrio, un tamaño por default por lo que intente esto

<table>
<tr>
<td>
<asp:Image runat="server" ID="imgPortada" AlternateText="Imagen no disponible" Width="250px" Height="250px" />
</td>
</tr>
</table>

Para la parte del código cree una forma por default:

//
private void CargaPortada()
{
  this.imgPortada.ImageUrl = ResolveUrl("~/Carperta/Imagen");
}
//

Pero después me di cuenta que hacer lo anterior resultaba un poco inadecuado ya que las imágenes perdían legibilidad y varias de ellas no tenían el mismo tamaño por lo que arme unas lineas código para resolverlo:

//
private void CargaPortada()
    {
        try
        {
            this.lblMensaje.Text = "";

            this.imgPortada.ImageUrl = ResolveUrl("~/Carperta/Imagen");
            System.Drawing.Image objImagen = System.Drawing.Image.FromFile(Server.MapPath("~/Carperta/Imagen"));

            this.imgPortada.Width = objImagen.Height;
            this.imgPortada.Height = objImagen.Width;
            
            objImagen.Dispose();
            objImagen = null;
        }
        catch(Exception e)
        {
            this.lblMensaje.Text = "Imagen no disponible.";
        }
    }
//

Entonces lo que hice fue una instancia de la clase System.Drawing.Image a la cual le asigno la ruta física de la imagen y por ultimo a mi control de asp le defino los valores del Width y Height del objeto

Por ultimo el control de asp lo definimos de esta manera sin Width y Height

<asp:Image runat="server" ID="imgPortada" AlternateText="Imagen no disponible" />

Saludos!!