zwei Dinge tun:
1. Es mit setDatabaseBlob() zum Speichern in einer DB vorbereiten
2. Eine auf die Maße W(Breite) und H(Höhe) reduzierte Kopie in einem
ImageGadget mit der Nummer ImGadNr anzuzeigen.
Code: Alles auswählen
#Orig=0
#Resized=1
;---- zu 1. ---------------------
LoadImage(#Orig,Adresse)
ReadFile(0,Adresse)
size_orig = Lof(0)
If size_orig
*mem_orig = AllocateMemory(size_orig)
If *mem
ReadData(0, *mem_orig, size)
SetDatabaseBlob(DBNr,0,*mem_orig,size_orig)
EndIf
EndIf
CloseFile(#Orig)
;---- zu 2.----------------
CopyImage(#Orig,#Resized)
ResizeImage(#Resized,W,H)
*mem_res=EncodeImage(#Resized)
size_res=MemorySize(*mem_res)
CatchImage(#Resized,*mem_res,size_res)
SetGadgetState(ImGadNr,ImageID(#Resized))
;(Speicherfreigaben jeweils weggelassen)
a) Ist das Fragment so richtig?
b) Muss(!) man bei EncodeImage() auch noch das Bildformat bei den Parametern angeben, oder
reicht es, den passenden Decoder bzw. alle Decoder zu laden?