Español
Incluye

Bildgrößen de Bilddatei Incluir

 
Tolle Incluir de Dieter Zornow, en Bildausmasse de Bildern de Archivos a invitar, sin la Bilder vollständig einladen tener.

Dieter Zornow, URL=www.rgh-soft.de/forum01/read.php?f=7&i=14767&t=14756, Zeitpunkt=05.03.2010
2010 Autor Dieter Zornow
Teile des Codes basieren en el Verfahren de el Incluir de Thomas Hölzer, Andreas Miethe, Hans-Jürgen Trog
Freeware
DEF MakeWord(2) (%(1) | (%(2)*$100))

Proc picturetype

    parámetros file$
    declarar mem#
    dim mem#,50
    Conjunto("Filemode", 0)
    blockread(file$,mem#,0,50)
    Conjunto("Filemode", 2)
    var typ$ = char$(mem#,0,50)
    disponer mem#

    if Left$(typ$,2) = "BM"

        ifnot mid$(typ$,3,2) = chr$(142)+chr$(3)

            volver ".bmp"

        más

            volver ".rle"

        endif

    elseif left$(typ$,2) = "II"

        volver ".tif"

    endif

    typ$= upper$(typ$)

    If instr("JFIF",typ$)

        volver ".jpg"

    elseif instr("PNG",typ$)

        volver ".png"

    elseif instr("GIF",typ$)

        volver ".gif"

    elseif instr("EMF",typ$)

        volver ".emf"

    más

        volver ".ico"

    endif

ENDPROC

PROC IconDim

    Parámetros file$
    Declarar Icons&,size#,volver$
    Dim size#,filesize(file$)
    var x% = 0
    Conjunto("Filemode", 0)
    BlockRead(file$,Size#,0,filesize(file$))
    Conjunto("Filemode", 2)
    Icons& = @Word(Size#,4)

    if icons& = 1

        volver$ = str$(icons&)+"|"+str$(Byte(size#,6))+"|"+str$(Byte(size#,7))

    más

        volver$ = str$(icons&)+"|"

        WHILENOT x% = Icons&

            volver$ = volver$+str$(Byte(size#,6+(x%*16)))+"|"+str$(Byte(size#,6+(x%*16+1)))+"|"
            inc x%

        EndWhile

    endif

    DISPOSE Size#
    caso right$(volver$,1) = "|":volver$ = left$(volver$,len(volver$)-1)
    volver volver$

ENDPROC

Proc GifDim

    parámetros file$
    declarar mem#
    dim mem#,10
    Conjunto("Filemode", 0)
    blockread(file$,mem#,0,10)
    Conjunto("Filemode", 0)
    var b% = word(mem#,6)
    var h% = word(mem#,8)
    disponer mem#
    volver str$(b%)+"|"+str$(h%)

ENDPROC

PROC BMPRLEDim

    Parámetros file$
    declarar size#
    DIM size#,24
    Conjunto("Filemode", 0)
    BlockRead(file$,size#,0,24)
    Conjunto("Filemode", 2)
    var volver$ = str$(long(size#,18))+"|"+str$(long(size#,22))
    DISPOSE size#
    volver volver$ B,H

ENDPROC

PROC PNGDim

    Parámetros file$
    declarar size#,mem#
    Dim size#,24
    set("Filemode",0)
    BlockRead(file$,size#,0,24)
    set("Filemode",2)
    var volver$ = str$(makeword(byte(size#,19),byte(size#,18)))+"|"+str$(makeword(byte(size#,23),byte(size#,22)))
    DISPOSE size#,mem#
    volver volver$

ENDPROC

PROC JPGDim

    Parámetros File$
    declarar size#
    Dim size#,filesize(file$)
    Conjunto("Filemode", 0)
    blockread(file$,size#,0,filesize(file$))
    Conjunto("Filemode", 2)
    volver GetJPGDIM(size#)

    PROC GetJPGDimension

        Parámetros size#,Match%
        var back$ = str$(Makeword(byte(size#,match%+3),byte(size#,match%+2)))  + "|" + str$(Makeword(byte(size#,match%+1),byte(size#,match%)))
        DISPOSE size#
        RETORNO back$

    ENDPROC

    PROC GetJPGMatch

        Parámetros size#,x%
        Declarar fs%,y%,back$
        fs% = sizeof(size#)

        WHILENOT x% = fs%

            IF ((MakeWord(Byte(size#,x%+1),Byte(size#,x%)) = 65472) | (MakeWord(Byte(size#,x%+1),Byte(size#,x%)) = 65474))

                y%=x%+5 5 bytes dazu
                back$ = GetJPGDimension(size#,y%)  Groessenangaben lesen
                x%=fs%-1

            endif

            inc x%

        EndWhile

        RETORNO back$

    ENDPROC

    PROC GetJPGDIM

        parámetros size#
        Declarar mem#
        dim mem#,65535
        Externo("Kernel32","RtlMoveMemory",mem#,size#,65535)
        var aaa% = (Makeword(Byte(mem#,5),Byte(mem#,4))+4)
        DISPOSE mem#
        var back$ = GetJPGMatch(size#,aaa%) Position de Segmentende suchen
        RETORNO back$

    ENDPROC

ENDPROC

PROC TGADim

    Parámetros file$
    declarar size#,volver$
    DIM size#,16
    Conjunto("Filemode", 0)
    BlockRead(file$,size#,0,16)
    Conjunto("Filemode", 2)
    volver$ = str$(Word(size#,12))+"|"+str$(Word(size#,14))
    DISPOSE size#
    volver volver$

ENDPROC

PROC EMFDim

    Parámetros file$
    declarar size#,volver$
    DIM size#,24
    Conjunto("Filemode", 0)
    BlockRead(file$,size#,0,24)
    Conjunto("Filemode", 2)
    volver$ = str$(Word(size#,16))+"|"+str$(Word(size#,20))
    DISPOSE size#
    volver volver$

ENDPROC


 
05.03.2010  
 




E.T.
Das Ermitteln el Größe de JPG's stürzt de- y a veces kommentarlos  de. Nach längerer Búsqueda Proc GetJPGDIM gefunden:
dim mem#,65535
Externo("Kernel32","RtlMoveMemory",mem#,size#,65535)

sustituir por:
dim mem#,sizeof(size#)
Externo("Kernel32","RtlMoveMemory",mem#,size#,sizeof(size#))

Ist me así Aufgefallen, como Yo Dieter's Code a Größenermittlung en un Bilder-Slideshow instalado habe. El Slideshow brach siempre otra vez irgendwo de, después de el Änderung es esta ahora con ~500 Bilder'n durchgelaufen !!

Nur getestet en JPG's,
Tal vez hilfts sí alguien ...
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
24.10.2010  
 



Jupp, offenensichtlich una Fehler.
 
24.10.2010  
 




E.T.
Gefunden: Fehler en Typ- / Größenerkennung en .jpg  .
Hab el problema, el algunos .jpg-Datei'n no como solche erkannt voluntad (meist Handy-Bilder). En esta Bildern se überhaupt kein Typ erkannt (lo se una völlig sinnfreier String zurück gegeben), el Auslesen el Größe (como .jpg, bin me sicher, el lo solche son) scheitert entonces auch (Größe 0x0 oder oft 160x120 en 2048x1536).
El Datei'n son m.M. i.O., d.h. el exif-Daten (Irfan & Co) como el Windoof-Explorer zeigen el korrekten Werte para Expediente-Formato & -Größe a.

Also doch veces hinsetzen y el exif-Daten beschäftigen,
como esta Daten doch zuverlässiger a ser scheinen...

[OFFTOPIC]Exactamente el Yo quería me con Dieter's Incluir sparen... , dieses exif-Gewirr a "entwirren". Naja, vielleich Será mejor que te va sí 'ne dll para exif-Daten...[/OFFTOPIC]
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
11.12.2010  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

11.414 Views

Untitledvor 0 min.
Michael Hettner02.05.2022
Daniel04.03.2022
Ralf Netz22.05.2021
Sven Bader04.03.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

E.T. (2x)
iF (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie