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!!