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

Redimensión en baja calidad :(

Estas en el tema de Redimensión en baja calidad :( en el foro de .NET en Foros del Web. Bueno la cosa está en que ante la necesidad de implementar una aplicación que redimensione una imagen y dado que no disponía en el lenguaje ...
  #1 (permalink)  
Antiguo 13/10/2005, 11:50
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Redimensión en baja calidad :(

Bueno la cosa está en que ante la necesidad de implementar una aplicación que redimensione una imagen y dado que no disponía en el lenguaje que estaba usando (PHP) de la librería de funciones necesarias para imágenes (el servidor no tiene instalada la biblioteca GD) me ví obligado a utilizar un script en .NET que redimensiona una imagen, aprovechando que el servidor es WINDOWS.

Lo malo es que la calidad deja mucho que desear:

Ejemplo de redimensión(se aprecia baja calidad):

http://www.deporterey.com/ShowImage....if&w=100&h=100

http://www.deporterey.com/ShowImage....if&w=200&h=200

Ejemplo de imagen real:

http://www.deporterey.com/public/feeds/labete666.gif

Este es el código:
Código PHP:
<%@ Page Language="VB" Debug="true" %>
<%@
Import Namespace="System.Drawing.Imaging" %>
<
script language="VB" runat="server">
  Function 
ThumbnailCallback() as Boolean
    
Return False
  End 
Function


  
Sub Page_Load(sender as Objectas EventArgs)
  
    
'Read in the image filename to create a thumbnail of
    Dim imageUrl as String = Request.QueryString("img")
    
    '
Read in the width and height
    Dim imageHeight 
as Integer Request.QueryString("h")
    
Dim imageWidth as Integer Request.QueryString("w")

    
'Make sure that the image URL doesn't contain any /'s or \'s
    If imageUrl.IndexOf("/") >= 0 Or imageUrl.IndexOf("\") >= 0 then
      '
We found a / or 
      
Response.End()
    
End If
    
    
'Add on the appropriate directory
    imageUrl = "public/feeds/" & imageUrl
    
    Dim fullSizeImg as System.Drawing.Image
    fullSizeImg = System.Drawing.Image.FromFile(Server.MapPath(imageUrl))

    '
Do we need to create a thumbnail?
    
Response.ContentType "image/gif"
    
If imageHeight and imageWidth 0 then
      Dim dummyCallBack 
as System.Drawing.Image.GetThumbNailImageAbort
      dummyCallBack 
= New _
         System
.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)

      
Dim thumbNailImg as System.Drawing.Image
      thumbNailImg 
fullSizeImg.GetThumbnailImage(imageWidthimageHeight_
                                                   dummyCallBack
IntPtr.Zero)

      
thumbNailImg.Save(Response.OutputStreamImageFormat.Gif)  
    Else
      
fullSizeImg.Save(Response.OutputStreamImageFormat.Gif)  
    
End If
    
  
End Sub
</script>
 
No tengo mucha idea de .NET, pero como sé que en PHP todo depende de usar una función que meta los color en truecolor, por sí simplemente se trata de eso, por eso pregunto.

Salu2 ;)
__________________
[+]
[+]
  #2 (permalink)  
Antiguo 16/10/2005, 14:44
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
Hola yoseman, en las faq´s coloqué un post para hacer thumbnails, ahi encontrarás lo que necesitas.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 16/10/2005, 14:47
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
Aqui está la liga.

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

Espero que te sirva.
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 12:51.