Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    errore calcolo dimansioni immagine

    ciao,

    uso questa funzione trovata sul forum per calcolare le dimensioni delle img che poi passo a un altra funzione js che mi apre una popup.
    il problema è che a volte su alcune img mi calcola delle dimensioni completamente sballate....

    ecco la funzione:
    codice:
    <% ' Calcolo le dim delle img da passare alla funzione js
    Dim Dimensione
    Function ImageSize(Immagine)  
    Dimensione = Array("","")  
    Formato = Right(UCase(Immagine),3)  
    Select Case Formato    
    	Case "JPG"      
    		start = 167      
    		max = 4      
    		xs = 3     
    		xe = 4      
    		ys = 1    
    		ye = 2   
    	Case "GIF"
    		start = 10      
    		max = 4      
    		xs = 2      
    		xe = 1      
    		ys = 4      
    		ye = 3    
    	Case "BMP"      
    		start = 24      
    		max = 8      
    		xs = 4      
    		xe = 3      
    		ys = 8      
    		ye = 7  
    End Select  
    Set fso = CreateObject("Scripting.FileSystemObject")  
    Set ts = fso.OpenTextFile(Server.MapPath(Immagine),1)  
    s = Right(ts.Read(start), max)   
    Dimensione(0) = hextodec(hexat(s,xs) & hexat(s,xe))  
    Dimensione(1) = hextodec(hexat(s,ys) & hexat(s,ye))   
    ts.Close  
    ImageSize = Dimensione
    End Function
    Function hexat(s, n)  hexat = hex(asc(mid(s, n, 1)))  
    If len(hexat) = 1 then hexat = "0" & hexat
    End Function
    Function hextodec(cadhex)  
    Dim n, i, ch, decimal  
    decimal = 0 
     n = Len(cadhex)  
    For i = 1 to n    
    decimal = decimal * 16    
    ch = Mid(cadhex, i, 1)    
    decimal = decimal + inStr("0123456789ABCDEFabcdef", ch) - 1  
    Next    
    
    hextodec = decimal
    End Function
    
    Immagine = "/db_documents/images/products/"& prodotto.fields("image") 
    Dimensione = ImageSize(Immagine)
    Dim w, h 
    w = Dimensione(0) + 15
    h = Dimensione(1) + 15
    %>
    la foto e in jpg..se la importo im macromedia fireworks e poi la esporto senza fare niente mi funziona...che può essere... :master:

  2. #2
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    forse è una jpeg progessiva con ContentType (image/pjpeg), so che a Baol durante lo sviluppo della sua classe cupload si era dovuto un po' sbattere per correggere il problema di dimensioni in quel caso.
    guarda la sua classe su http://baol.cjb.net c'è una funzione
    Private Function pGetImageSize(byRef RequestBin,ContentType,ByRef arResult)
    dacci un occhiata

  3. #3
    non è una jpg progressiva...la cosa che non mi spiego è che passandola da fireworks senza fare alcuna modifica poi funziona correttamente....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.