Incluye | | | | | 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
|
| | | | |
| | 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:
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. |
| | | | |
| | 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 ▲ |
| |
|
RespuestaTema opciones | 11.414 Views |
ThemeninformationenDieses Thema ha 2 subscriber: |