Newsgroup: it.comp.lang.visual-basic
Titolo: altezza e larghezza di un immagine

Salve a tutto il NG,
ho una domanda....come si fa a sapere la larghezza e l'altezza di un
immagine??
Ovvero io ho fatto un programma che legge il nome del file che contiene
l'immagine e la inserisce in un tag <img> ora il mio problema č: dato che
voglio "completare" il tag <img> con l'altezza e la larghezza dell'immagine
c'č un modo per poter leggere queste due variabili da dentro un prog in vb??
Grazie per la/e risposta/e
Netkiller
--
----------------------------------------------------------------------------
----
Vuoi guadagnare 50.000 al mese semplicemente facendo 3 click al giorno??
Allora iscriviti a 
www.myclick.it
 digitando, quando ti registri, il numero
2952102952 nel campo "amcio che ti ha presentato il sito" e buon guadagno!!

 ha scritto nel messaggio
news:9ejqpt$ct2$1...@nreadB.inwind.it...


Netkiller:
 mel progettino Legge BMP reperibile a:
 
http://members.xoom.it/flanguasco/
trovi le routines per leggere tutte le informazioni dell' immagine
direttamente dal file.
Ciao, sperando che sia quanto ti serve.
Franco

 ha scritto nel messaggio
news:3B0E9915...@MCLINK.IT...


 ha scritto


Scusa, non avevo capito che non si trattava di files .BMP.
Per i files .GIF puoi provare con:
'
'
    Dim FF%, ID&, CTD As Byte, CTP As Byte
    Dim Im_Left%, Im_Top%, Im_Width%, Im_Height%
'
    FF = FreeFile
'
    ' Apri il file che vuoi:
    Open "C:\VBAppl\Grafica\Gif\Immagini\PicBox256.gif" For Binary As #FF
'
    Seek #FF, 11
    Get #FF, , CTD      ' <Packed Fields> del "Logical Screen Descriptor".
 
    CTP = CTD And 128   ' "Global Color Table Flag".
    If CTP > 0 Then
        CTD = CTD And &H7
        ID = 15 + 3 * (2 ^ (CTD + 1))   ' Posizione nel file dell' "Image Descriptor".
    Else
        ID = 15                         '      "     "    "    "      "       "
    End If
'
    Get #FF, ID, Im_Left
    Get #FF, , Im_Top
    Get #FF, , Im_Width
    Get #FF, , Im_Height
'
    MsgBox "Left = " & Im_Left _
    & "  Top = " & Im_Top _
    & "  Width = " & Im_Width _
    & "  Height = " & Im_Height
'
    Close FF
'
L' ho scritto di getto e l' ho appena provato: sembra funzionare ma non si sa' mai...
Per i files .JPG al momento non ti posso aiutare.
Ciao e se dovessi avere problemi, contattami pure.
Franco

Netkiller:
  ieri sera, quando ti ho risposto la seconda volta, dovevo essere
veramente stanco :-(
Puoi, molto piu' semplicemente, fare:
'
    Dim FF%, CTD As Byte, ScrW%, ScrH%, BxP&
'
    FF = FreeFile
'
    ' Metti il file GIF che vuoi:
    Open FileGIF$ For Binary As #FF
'
    Get #FF, 7, ScrW    ' i)  Logical Screen Width - Width, in pixels, of the Logical Screen
                        '     where the images will be rendered in the displaying device.
'
    Get #FF, 9, ScrH    ' ii) Logical Screen Height - Height, in pixels, of the Logical
                        '     Screen where the images will be rendered in the displaying device.
'
    Get #FF, 11, CTD    ' <Packed Fields> del "Logical Screen Descriptor".
'
    BxP = (CTD And &H7) + 1
'
    MsgBox "Width = " & ScrW _
         & "  Height = " & ScrH _
         & "  BitsPerPixel = " & BxP
'
    Close FF
'
evitando anche gli eventuali problemi che avresti con files .GIF ad
immagini multiple e con estensioni varie.
Per una trattazione completa di come leggere (ed eventualmente
scrivere) files .GIF ti rimando comunque al progetto Gif_PB
reperibile al sito che gia' ti ho' segnalato.
Ciao, sperando che sia la volta buona...
Franco

 fare??
____________________________________________________________________
                                            Se hai fretta guarda in fondo al post...
____________________________________________________________________
Per il jpeg, ci sono delle specifiche qui: 
http://energyz.interfree.it/testi/jpeg.zip
il tutto è in formato HTML, e ci sono dei link per altri formati.
Dall'index devi cercare la sezione "scrittura di un file", occhio e croce credo tu
debba rintracciare il "Frame Header" con le caratteristiche dell'immagine; ci sono
4 byte che sono quelli che ti interessano.... ma concordo con l'ottimo pal...
sudore, lacrime e sangue. O almeno un paio di pomeriggi sprecati per capirci qualcosa.
Sul Sito Comune c'è una procedura per "scrivere" un file jpeg.
Magari ti aiuta...
... ero a questo punto, quando mi è venuto in mente che Google.... :-)
_________________________
Conosci il C++ abbastanza da tradurre questo in VB ? E' proprio quello che cerchi...
http://www.andrew.cmu.edu/~twm/stuff/jpegsize.html
C'è anche un modulo in Perl:
http://search.cpan.org/search?dist=Image-Size
C'è una libreria che ti può interessare:
http://www.catenary.com/welcome.html
 , ma a 500$ la lascerei perdere :-(((
Questo è un visualizzatore per JPG scritto prima del VB5, quando il formato
non era ancora supportato, si appoggia a delle DLL (dibinfo.dll e jpeglib.dll)
che si dovrebbero trovare in rete in versione più aggiornata.
NOTA PER PAL: Questo dovrebbe piacerti particolarmente ;-)
http://www.codearchive.com/vbasic/jpegvu.zip
Appropo', la libreria free della IBM, come si chiama ? L'ha indicata GBC una
dozzina di volte, o sto facendo confusione con qualcos'altro (ZIP) ?
_____________________________________________________________________
And in the end... 
http://www.freevbcode.com/ShowCode.Asp?ID=112
More information: This class module will return height, width, color depth,
and image type from the following image formats: JPEG, GIF, BMP, & PNG.
_____________________________________________________________________
HTH
Bye, G.

 > fare??
Appropo', non scordarti di guardare qui, ci sono altre 140 tips nella categoria
screen/graphics e magari c'è altro che ti può servire:
http://www.freevbcode.com/listcode.asp?Category=10
Bye, G.

 dozzina di volte, o sto facendo confusione con qualcos'altro (ZIP) ?
intel. mi ritrovo due bookmark
http://developer.intel.com/software/products/perflib/ijl/index.htm
http://developer.intel.com/vtune/perflibst/Ijl/ijlbetadownload.htm
ciao, a.