Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/07/2006, 10:56
Avatar de sjam7
sjam7
 
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 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?