Seite 2 von 2
Verfasst: 14.01.2006 13:18
von Tsuki-Namida
@Macros
ich bekomme so einen Error bei "Hohe.l = ImageHeight()" dieser lautet "Invalid memory access." habe ich was falsch gemacht?
Verfasst: 14.01.2006 13:24
von Macros
Hast du bei ExamineDirectroy auch
den/die richtigen Pattern angegeben?
Und dann auch den/die richtigen Decoder aktiviert?
(z.B. UseJPEGImageDecoder)
Verfasst: 14.01.2006 13:26
von Tsuki-Namida
ja habe ich...
Hier ist der Code mit Plattern
Code: Alles auswählen
If ExamineDirectory(50, IMG_Fulder, "*.jpg")
CallDebugger
While NextDirectoryEntry()=1
img_datei$ = DirectoryEntryName()
LoadImage(2,img_datei$)
UseImage(2)
Hohe.l = ImageHeight()
Breite.l = ImageWidth()
Debug Hohe.l
Debug Breite.l
img_datei$ = RemoveString(img_datei$, ".jpg")
img_datei$ = RemoveString(img_datei$, ".JPG")
If Hohe<=55 And Breite<=55
AddGadgetItem(#File,-1,img_datei$)
EndIf
Wend
EndIf
und der dekoder ist auch geladen
Verfasst: 14.01.2006 13:34
von Macros
Code: Alles auswählen
If ExamineDirectory(50, IMG_Fulder, "*.jpg")
CallDebugger
While NextDirectoryEntry()=1
img_datei$ = IMG_Fulder+"\"+DirectoryEntryName()
LoadImage(2,img_datei$)
UseImage(2)
Hohe.l = ImageHeight()
Breite.l = ImageWidth()
Debug Hohe.l
Debug Breite.l
img_datei$ = RemoveString(img_datei$, ".jpg")
img_datei$ = RemoveString(img_datei$, ".JPG")
If Hohe<=55 And Breite<=55
AddGadgetItem(#File,-1,img_datei$)
EndIf
Wend
EndIf
Hier der Fehler: man muss natürlich den kompletten Pfad angeben
img_datei$ = IMG_Fulder+"\"+DirectoryEntryName()
Verfasst: 14.01.2006 13:40
von Tsuki-Namida
Super danke

jetzt geht es wie geplant

Verfasst: 14.01.2006 14:25
von Sylvia
Das Laden der Bilder (LoadImage()) dauert relativ gesehen, besonders
bei grossen Dateien, recht lange. Wenn es nur um die Information
Breite & Höhe geht, lässt sich das viel schneller mit diesem Code machen:
Code: Alles auswählen
OpenFile(1,"d:\test.jpg")
FileSeek(163)
h=(ReadByte() & $FF)*256+(ReadByte() & $FF) ; Hoehe
b=(ReadByte() & $FF)*256+(ReadByte() & $FF) ; Breite
CloseFile(1)
Debug "Höhe : "+Str(h)
Debug "Breite: "+Str(b)
Verfasst: 14.01.2006 14:42
von Macros
Funktioniert bei Bildern, die ich mit
Paintshop Pro 9 erstellt, bearbeitet habe nicht.
(Bei Paint klappts natürlich)