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

Tamaño Imágenes

Estas en el tema de Tamaño Imágenes en el foro de ASP Clásico en Foros del Web. Aupa: No se si este es el foro adecuado. ¿Hay alguna forma de saber el tamaño de una imágen? Gracias...
  #1 (permalink)  
Antiguo 18/05/2003, 13:26
Avatar de Biopepe  
Fecha de Ingreso: abril-2003
Ubicación: Bilbao
Mensajes: 63
Antigüedad: 21 años, 1 mes
Puntos: 0
Tamaño Imágenes

Aupa:

No se si este es el foro adecuado.
¿Hay alguna forma de saber el tamaño de una imágen?
Gracias
  #2 (permalink)  
Antiguo 19/05/2003, 04:03
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
En JavaScript sería:

Código:
myImage = new Image()
myImage.src = "seaotter.gif"

alert('Ancho: '+myImage.width)
alert('Alto: '+myImage.height)
Un beso
  #3 (permalink)  
Antiguo 19/05/2003, 13:09
Avatar de Biopepe  
Fecha de Ingreso: abril-2003
Ubicación: Bilbao
Mensajes: 63
Antigüedad: 21 años, 1 mes
Puntos: 0
Gracias por contestar.

Mi problema es que la imagen está en otro servidor. Tengo la ruta guardada en una base de datos y quiero que cuando la foto exceda de un tamaño la muestre a un tamaño concreto.
  #4 (permalink)  
Antiguo 20/05/2003, 01:37
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 7 meses
Puntos: 5
Si está en otro servidor la imagen es igual pero la ruta de la imagen que le indicas será una URL absoluta del tipo:

Cita:
myImage = new Image()
myImage.src = "http://www.elotroservidor.com/seaotter.gif"

ancho=myImage.width
alto=myImage.height

if (ancho > ancho_maximo || alto > alto_maximo) {
myImage.width = ancho_maximo
myImage.height = alto_maximo
}
Un beso
  #5 (permalink)  
Antiguo 28/05/2003, 05:52
Avatar de Mignola  
Fecha de Ingreso: noviembre-2002
Ubicación: Templo Shaolin
Mensajes: 167
Antigüedad: 21 años, 7 meses
Puntos: 1
Yo hago lo siguiente con lo q posteaste:
Código PHP:
    do while not rs.EOF    
        Dim i
        i 
+1
        
%>
            <
script language=javascript>

                
Imagen<%=i%> = new Image();
                
Imagen<%=i%>.src "<%=rs.Fields("RutaImagen")%>"
                
ancho=Imagen<%=i%>.width;
                
alto=Imagen<%=i%>.height;
                
                
//alert(<%=i%>)
                
ancho_maximo 100;
                
alto_maximo 100;
                if (
ancho ancho_maximo || alto alto_maximo) {
                
Imagen<%=i%>.width ancho_maximo;
                
Imagen<%=i%>.height alto_maximo;
                }    
            
</script>        
        <table width="100%" border="0" cellspacing="0" cellpadding="5">
            <tr> 
            <td><img src="recursos/li/imagen.gif" align=absmiddle> <b><%=rs.Fields("Nombre")%></b></td>
            </tr>
            <tr> 
            <td><a href="index.asp?modulo=imagenes&categoria=1&ver=<%=rs.Fields("id")%>" target="_blank"><img src="<%=rs.Fields("RutaImagen")%>" id="Imagen<%=i%>" name="Imagen<%=i%>" border=0></a></td>
            </tr>            
            <tr> 
                <td colspan="2">
                <b>Agregado el:</b> <%=sacarfecha(rs.Fields("fecha"),"corta")%> | <b>Visto <%=rs.Fields("vistas")%> veces</b>
                </td>
            </tr>
            <tr> 
            <td colspan="2" align=right>&nbsp;</td>
            </tr>            
        </table>
        <%
        rs.Movenext
    Loop 
Pero no me cambia el tamaño de las imagenes... please, decirme q ocurre (aunque este no se el foro indicado )

Gracias!

P.D: ¿Se podria capturar el tamaño de una imagen desde ASP?
  #6 (permalink)  
Antiguo 30/05/2003, 13:09
Avatar de Mignola  
Fecha de Ingreso: noviembre-2002
Ubicación: Templo Shaolin
Mensajes: 167
Antigüedad: 21 años, 7 meses
Puntos: 1
Nadie sabe como iria la cosa?

Please

Nadie que pueda ayudar a este Kamen Rider?

A quien pueda interesar:

Código:
<%
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                             :::
  ':::  This routine will attempt to identify any filespec passed  :::
  ':::  as a graphic file (regardless of the extension). This will :::
  ':::  work with BMP, GIF, JPG and PNG files.                     :::
  ':::                                                             :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::          Based on ideas presented by David Crowell          :::
  ':::                   (credit where due)                        :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  '::: blah blah     Copyright *c* MM,  Mike Shaffer     blah blah :::
  '::: blah blah      ALL RIGHTS RESERVED WORLDWIDE      blah blah :::
  '::: blah blah  Permission is granted to use this code blah blah :::
  '::: blah blah   in your projects, as long as this     blah blah :::
  '::: blah blah      copyright notice is included       blah blah :::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                             :::
  ':::  This function gets a specified number of bytes from any    :::
  ':::  file, starting at the offset (base 1)                      :::
  ':::                                                             :::
  ':::  Passed:                                                    :::
  ':::       flnm        => Filespec of file to read               :::
  ':::       offset      => Offset at which to start reading       :::
  ':::       bytes       => How many bytes to read                 :::
  ':::                                                             :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  function GetBytes(flnm, offset, bytes)

     Dim objFSO
     Dim objFTemp
     Dim objTextStream
     Dim lngSize

     on error resume next

     Set objFSO = CreateObject("Scripting.FileSystemObject")
     
     ' First, we get the filesize
     Set objFTemp = objFSO.GetFile(flnm)
     lngSize = objFTemp.Size
     set objFTemp = nothing

     fsoForReading = 1
     Set objTextStream = objFSO.OpenTextFile(flnm, fsoForReading)

     if offset > 0 then
        strBuff = objTextStream.Read(offset - 1)
     end if

     if bytes = -1 then		' Get All!

        GetBytes = objTextStream.Read(lngSize)  'ReadAll

     else

        GetBytes = objTextStream.Read(bytes)

     end if

     objTextStream.Close
     set objTextStream = nothing
     set objFSO = nothing

  end function


  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                             :::
  ':::  Functions to convert two bytes to a numeric value (long)   :::
  ':::  (both little-endian and big-endian)                        :::
  ':::                                                             :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  function lngConvert(strTemp)
     lngConvert = clng(asc(left(strTemp, 1)) + ((asc(right(strTemp, 1)) * 256)))
  end function

  function lngConvert2(strTemp)
     lngConvert2 = clng(asc(right(strTemp, 1)) + ((asc(left(strTemp, 1)) * 256)))
  end function

  
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                             :::
  ':::  This function does most of the real work. It will attempt  :::
  ':::  to read any file, regardless of the extension, and will    :::
  ':::  identify if it is a graphical image.                       :::
  ':::                                                             :::
  ':::  Passed:                                                    :::
  ':::       flnm        => Filespec of file to read               :::
  ':::       width       => width of image                         :::
  ':::       height      => height of image                        :::
  ':::       depth       => color depth (in number of colors)      :::
  ':::       strImageType=> type of image (e.g. GIF, BMP, etc.)    :::
  ':::                                                             :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  function gfxSpex(flnm, width, height, depth, strImageType)

     dim strPNG 
     dim strGIF
     dim strBMP
     dim strType
     strType = ""
     strImageType = "(unknown)"

     gfxSpex = False

     strPNG = chr(137) & chr(80) & chr(78)
     strGIF = "GIF"
     strBMP = chr(66) & chr(77)

     strType = GetBytes(flnm, 0, 3)

     if strType = strGIF then				' is GIF

        strImageType = "GIF"
        Width = lngConvert(GetBytes(flnm, 7, 2))
        Height = lngConvert(GetBytes(flnm, 9, 2))
        Depth = 2 ^ ((asc(GetBytes(flnm, 11, 1)) and 7) + 1)
        gfxSpex = True

     elseif left(strType, 2) = strBMP then		' is BMP

        strImageType = "BMP"
        Width = lngConvert(GetBytes(flnm, 19, 2))
        Height = lngConvert(GetBytes(flnm, 23, 2))
        Depth = 2 ^ (asc(GetBytes(flnm, 29, 1)))
        gfxSpex = True

     elseif strType = strPNG then			' Is PNG

        strImageType = "PNG"
        Width = lngConvert2(GetBytes(flnm, 19, 2))
        Height = lngConvert2(GetBytes(flnm, 23, 2))
        Depth = getBytes(flnm, 25, 2)

        select case asc(right(Depth,1))
           case 0
              Depth = 2 ^ (asc(left(Depth, 1)))
              gfxSpex = True
           case 2
              Depth = 2 ^ (asc(left(Depth, 1)) * 3)
              gfxSpex = True
           case 3
              Depth = 2 ^ (asc(left(Depth, 1)))  '8
              gfxSpex = True
           case 4
              Depth = 2 ^ (asc(left(Depth, 1)) * 2)
              gfxSpex = True
           case 6
              Depth = 2 ^ (asc(left(Depth, 1)) * 4)
              gfxSpex = True
           case else
              Depth = -1
        end select


     else

        strBuff = GetBytes(flnm, 0, -1)		' Get all bytes from file
        lngSize = len(strBuff)
        flgFound = 0

        strTarget = chr(255) & chr(216) & chr(255)
        flgFound = instr(strBuff, strTarget)

        if flgFound = 0 then
           exit function
        end if

        strImageType = "JPG"
        lngPos = flgFound + 2
        ExitLoop = false

        do while ExitLoop = False and lngPos < lngSize

           do while asc(mid(strBuff, lngPos, 1)) = 255 and lngPos < lngSize
              lngPos = lngPos + 1
           loop

           if asc(mid(strBuff, lngPos, 1)) < 192 or asc(mid(strBuff, lngPos, 1)) > 195 then
              lngMarkerSize = lngConvert2(mid(strBuff, lngPos + 1, 2))
              lngPos = lngPos + lngMarkerSize  + 1
           else
              ExitLoop = True
           end if

       loop
       '
       if ExitLoop = False then

          Width = -1
          Height = -1
          Depth = -1

       else

          Height = lngConvert2(mid(strBuff, lngPos + 4, 2))
          Width = lngConvert2(mid(strBuff, lngPos + 6, 2))
          Depth = 2 ^ (asc(mid(strBuff, lngPos + 8, 1)) * 8)
          gfxSpex = True

       end if
                   
     end if

  end function



  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::     Test Harness                                              :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  
  ' To test, we'll just try to show all files with a .GIF extension in the root of C:

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objF = objFSO.GetFolder("D:\")
  Set objFC = objF.Files

  response.write "<table border=""1"" cellpadding=""5"">"

  For Each f1 in objFC
    if instr(ucase(f1.Name), ".GIF") then
       response.write "<tr><td>" & f1.name & "</td><td>" & f1.DateCreated & "</td><td>" & f1.Size & "</td><td>"

       if gfxSpex(f1.Path, w, h, c, strType) = true then
          response.write w & " x " & h & " " & c & " colors"
       else
          response.write "&nbsp;"
       end if

       response.write "</td></tr>"

    end if

  Next

  response.write "</table>"

  set objFC = nothing
  set objF = nothing
  set objFSO = nothing
%>

Ale!, hay queda eso!!

Última edición por Mignola; 30/05/2003 a las 13:09
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 01:37.