Foros del Web » Programación para mayores de 30 ;) » .NET »

Resize al vuelo

Estas en el tema de Resize al vuelo en el foro de .NET en Foros del Web. Hola uso este script que vi por aqui mismo para cambiar el tamaño de las imagenes al vuelo: Código HTML: <%@ Page Language= "C#" ContentType= ...
  #1 (permalink)  
Antiguo 28/07/2006, 10:56
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Resize al vuelo

Hola uso este script que vi por aqui mismo para cambiar el tamaño de las imagenes al vuelo:
Código HTML:
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
    try{
        Response.Cache.VaryByParams["Image;Width;Height;ForceAspect"] = true;
        Response.ContentType = "image/jpeg";
        System.Collections.Hashtable imageOutputFormatsTable = new System.Collections.Hashtable();
        imageOutputFormatsTable.Add(System.Drawing.Imaging.ImageFormat.Gif.Guid, System.Drawing.Imaging.ImageFormat.Gif);
        imageOutputFormatsTable.Add(System.Drawing.Imaging.ImageFormat.Jpeg.Guid, System.Drawing.Imaging.ImageFormat.Jpeg);
        imageOutputFormatsTable.Add(System.Drawing.Imaging.ImageFormat.Bmp.Guid, System.Drawing.Imaging.ImageFormat.Gif);
        imageOutputFormatsTable.Add(System.Drawing.Imaging.ImageFormat.Tiff.Guid, System.Drawing.Imaging.ImageFormat.Jpeg);
        imageOutputFormatsTable.Add(System.Drawing.Imaging.ImageFormat.Png.Guid, System.Drawing.Imaging.ImageFormat.Jpeg);
    
        string imageLocation;
        bool forceaspect = true;
        int newHeight;
        int newWidth;
        int reqHeight = 100;
        int reqWidth = 100;
        int origHeight;
        int origWidth;
        
        imageLocation = Server.MapPath(Request.QueryString["Image"]);
        if (Request.QueryString["Height"] != null){
            reqHeight = Convert.ToInt32(Request.QueryString["Height"]);
        }
        if (Request.QueryString["ForceAspect"] != null){
            forceaspect = Convert.ToBoolean(Request.QueryString["ForceAspect"]);
        }
        if(Request.QueryString["Width"] != null){
            reqWidth = Convert.ToInt32(Request.QueryString["Width"]);
        }
        if (Request.QueryString["ForceAspect"] == "true"){
            forceaspect = true;
        }
        
        System.Drawing.Bitmap origBitmap = new System.Drawing.Bitmap(imageLocation);
        origHeight = origBitmap.Height;
        origWidth = origBitmap.Width;
        
        if (forceaspect){
            //Force Aspect Change
            newHeight = reqHeight;
            newWidth = reqWidth;
        }        
        else{ 
            //Landscape
            newWidth = reqWidth;
            newHeight = (int)(((double)origBitmap.Height / (double)origBitmap.Width) * reqWidth);
        }        
        
        System.Drawing.Bitmap outputImage = new System.Drawing.Bitmap(origBitmap, newWidth, newHeight);
        //outputImage.SetResolution(24, 24); //use this line for lower resolution thumbnails
        outputImage.SetResolution(95, 95); 
                    
        //outputImage.InterpolationMode = InterpolationMode.HighQualityBicubic;
        System.Drawing.Imaging.ImageFormat outputFormat = (System.Drawing.Imaging.ImageFormat)imageOutputFormatsTable[origBitmap.RawFormat.Guid];
        
        outputImage.Save(Response.OutputStream, outputFormat);
        outputImage.Dispose();
        origBitmap.Dispose();
    }
    catch (Exception ex){
        //log error so we may know the problem. you need to have write permits, of course on log path            
        System.IO.StreamWriter sw=null;
        try{
            sw=new System.IO.StreamWriter(Server.MapPath("error.txt"),true);
            sw.WriteLine("Error : " + ex.Message + " processing " + Request.QueryString["Image"]);
        }     
        catch{}        
        finally{sw.Close();}
        //now display the error image
        Response.Redirect("thumberror.gif");
    }
}
</script> 
Y lo llamo asi:
<img src="thumbail.aspx?ForceAspect=False&Width=150&ima ge=imagen.gif">

pero me muestra las imagenes con muy poca calidad (www.ajalas.com).
Ya "descomente" la linea
//outputImage.InterpolationMode = InterpolationMode.HighQualityBicubic;
Tal cual esta y no me muestra nada de imagenes

que podra ser?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:57.