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

Sobre reducción de imagenes

Estas en el tema de Sobre reducción de imagenes en el foro de .NET en Foros del Web. Hola maestros... hace algun tiempo encontre un script que me permitia hacer las miniaturas de las imagenes de una carpeta... el problema es que me ...
  #1 (permalink)  
Antiguo 11/04/2006, 17:58
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
Sobre reducción de imagenes

Hola maestros... hace algun tiempo encontre un script que me permitia hacer las miniaturas de las imagenes de una carpeta... el problema es que me las hace pero cuando reduzco fotos muy grandes (sacadas con camara digital) y las quiero reducir a 640x480 me las deja pero con una nitidez muy mala... me las deja como con pixeles corridos no se si sera un problema de mi funcion... si es asi me podrian decir como mejorar esa falla... bueno gracias de antemano y saludos

Código:
<%@ Import Namespace="System.Drawing.Imaging" %>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Collections"%>
<%@Page aspcompat=true Language ="VB" debug ="true" %>
<%
Dim archivo, carpeta As String 'para el nombre de archivos y carpetas
Dim sArchivos() As String 'array con los nombres de archivos y carpetas
Dim carpetaInfo As DirectoryInfo 'objeto para extraer propiedades de las carpetas
Dim archivoInfo As FileInfo 'objeto para extraer propiedades de los archivos
Dim AnchoMiniatura as Integer, AltoMiniatura as Integer
Dim Imagen as System.Drawing.Image

' Definimos las rutas donde grabará los archivos
Dim RutaMiniatura as String
RutaMiniatura = "./s/m/"

'array con los nombres de archivo en el directorio actual
sArchivos = Directory.GetFiles("C:\Felipe\Mi Pagina\pruebas\s\")
            
'Obtener lista de archivos contenidos en el directorio actual
For Each archivo In sArchivos
   archivoInfo = New FileInfo(archivo)
   Response.Write("" & archivoInfo.Name & "<br>")

   Imagen = System.Drawing.Image.FromFile("C:\Felipe\Mi Pagina\pruebas\s\" & archivoInfo.Name)
  
   ' Definimos el nombre de la miniatura
   Dim NombreMiniatura as String
   NombreMiniatura = "" & archivoInfo.Name & ""
               
   ' Definimos las dimensiones de la miniatura
   AnchoMiniatura = 640
   AltoMiniatura = 480
  
   ' Creamos la Miniatura con las dimensiones enviadas, y la definimos como Imagen
   Dim Miniatura as System.Drawing.Image
   Miniatura = Imagen.GetThumbnailImage(AnchoMiniatura, AltoMiniatura, Nothing, New IntPtr())

   ' Grabamos la Miniatura en disco con formato JPG
   Miniatura.Save(Server.MapPath(RutaMiniatura & NombreMiniatura), ImageFormat.JPEG)
Next
Response.End() 'detiene la carga de la página
%>
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #2 (permalink)  
Antiguo 12/04/2006, 07:52
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 4 meses
Puntos: 0
La verdad no se mucho de tratamiento de imagenes en .NET, pero navegando encontre este tutorial, parece ser que al principio todo es similar a tu codigo pero hay una funcion que el autor dice que es para mantener la proporcion de la imagen.

http://www.foxynet.net/Articulos/430.aspx

Espero que te sea de ayuda.

SALUDOS

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #3 (permalink)  
Antiguo 12/04/2006, 12:06
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Prueba también con éste ejemplo:

http://www.forosdelweb.com/showthrea...=3#post1223288

Espero que te sirva...
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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:13.