Speed up DecompressImageIndirect
Die Funktion DecompressImageIndirect der imgdecmp.dll kann unter Windows Mobile dazu verwendet werden, um z.B. JPG Bilder als Bitmap zu dekomprimieren.
Über die Funktionsweise dieser undokumentierten Funktion gab z.B. folgender Artikel auf unsupportedsoftware.com Auskunft:
http://www.unsupportedsoftware.com/products/dev/imgdecmp.htm
Leider ist die Seite zumindest derzeit offline (eventuell hat der Eigentümer die Domain nicht verlängert). Ich habe daher ein Backup der ImgDecMP.zip online gestellt, welche auch eine Anleitung zur Verwendung der Funktion beinhaltet.
Was mir aufgefallen ist, und was eventuell ganz interessant sein dürfte, ist, dass die Bibliothek bei jedem Dekomprimierungsvorgang 2 Bibliotheken nachlädt, sofern diese nicht geladen sind, und nach getanener Arbeit wieder entlädt. Dies ist zwar hinsichtlich Speicherverbrauch sehr löblich, birgt jedoch das Problem, dass die Dekomprimierung der Bilder eher langsam läuft. Benötigt man die Funktion also mehr als einmal, so kann es sich lohnen, besagte Bibliotheken beim Programmstart manuell zu laden und so im Speicher zu behalten. In der Initialisierungsphase der Applikation also folgendes laden:
LoadLibrary(_T("Imaging.dll")); LoadLibrary(_T("zlib.dll"));