Foros del Web » Programando para Internet » ASP Clásico »

preview de imagenes

Estas en el tema de preview de imagenes en el foro de ASP Clásico en Foros del Web. he encontrado la forma de hacer un thums con imagenes sin tener que instalar ninguna dll en el server http://www.4guysfromrolla.com/webtech/011201-1.shtml pero lo que no se ...
  #1 (permalink)  
Antiguo 03/08/2007, 05:43
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 7 meses
Puntos: 8
preview de imagenes

he encontrado la forma de hacer un thums con imagenes sin tener que instalar ninguna dll en el server

http://www.4guysfromrolla.com/webtech/011201-1.shtml

pero lo que no se como hacer es que no me mire fiscamente una carpeta del servidor si no ponerle yo las imagenes que tengo guardadas en una base de datos solo el nombre del fichero

alguien sabe como hacerlo?


gracias
  #2 (permalink)  
Antiguo 03/08/2007, 12:11
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: preview de imagenes

HOLA ENGONGA

prueba esto si funciona me avisas
<%

dim f1, w, h, c, strType, Path

Path = server.MapPath("c:\")
response.write "<table border=""1"" cellpadding=""5"">"

sql = "select * from imagenes order by nombre_imagen"

set rs = db.execute(sql)
do while not rs.eof

if instr(ucase(rs("nombre_imagen")), ".GIF") then
response.write "<tr><td>" & rs("nombre_imagen") & "</td><td>?</td><td>?</td><td>"

if gfxSpex(Path, w, h, c, strType) = true then
response.write w & " x " & h & " " & c & " colors</td>"
response.write "<td><img src=""" & Path & """ " & _
ImageResize(Path, 75, 45) & " border=""1""></td>"
else
response.write " </td><td align=""center"">bad image</td>"
end if

response.write "</tr>"

end if


rs.movenext
loop

response.write "</table>"

%>
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #3 (permalink)  
Antiguo 14/08/2007, 03:03
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 7 meses
Puntos: 8
Re: preview de imagenes

el problema es que en la base de datos tengo tres campos donde hay tres nombres de imagenes y no tengo que hafer un for ni nada que se le parezca

necesito que me me pinte el contenido del campo_img1 campo_img2 y el campo_img3

pero que me coga la imagen y me la redimensione tal como me hace el script
  #4 (permalink)  
Antiguo 15/08/2007, 01:49
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 7 meses
Puntos: 8
Re: preview de imagenes

no funciona...

solo funciona si miro una carpeta pero si le doy el nombre de la imagen que quiero que me redimensione no me funiona

dejo los dos archivos que (son las "librerias" que usa el escript)

www.esigual.com/archivos.zip


alguien sabe que puede estar pasando?
gracias

Última edición por engonga; 15/08/2007 a las 01:50 Razón: mas cosas
  #5 (permalink)  
Antiguo 15/08/2007, 07:19
 
Fecha de Ingreso: agosto-2007
Ubicación: Montevideo
Mensajes: 40
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: preview de imagenes

En mi caso encontre mas facil hacer un procedimiento en Photoshop para resizear todas las imagenes de una carpeta, renombrarlas y subirlas juntas al server via FTP. Pero si logras hacer un resize dinamico, desde luego es mas conveniente.
  #6 (permalink)  
Antiguo 15/08/2007, 10:11
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 19 años, 10 meses
Puntos: 1
Re: preview de imagenes

Si puedes habilitar soporte para asp.net en tu servidor te recomiendo un codigo que yo uso, no tienes que saber .net. Lo que haces es simplemente un link en tu pagina pasandole ciertos querys y hace el rezise en el acto y lo muestra.

Esto es util ya que hay muchos previews que lo unico que hacen es mostrar la imagen mas chica, pero pesa lo mismo que la imagen sin achicar y entonces si tienes muchos previews en una pagina tarda mucho en cargar.

El codigo lo llamas en cualquier pagina asi:

Código:
<img src="thumbnail.aspx?ForceAspect=False&Width=200&Height=200&Image=Pepe.jpg">
Y en la misma carpeta copias el archivo thumbnail.aspx que es asi:

Código:
<%@ 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(72, 72); 
					
		//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>
Un comentario importante: no respeta las transparencias de los gif o png, la verdad no se como solucionar esto ya que no se .net , pero si alguien puede nos vendria barbaro a todos.
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 00:22.