This is an User Library for PureBasic for Windows has been successfully tested in PB 3.90/Windows 98. To install, extract the "EC_ImagePluginOLE" file to your "PureLibraries\UserLibraries" folder. Delete any previous copies of the "EC_ImagePluginOLE" library. If PureBasic is running, you must re-launch it in order to use the library.
Asm source code, descriptor and PB example files are provided for debbugging, testing or any other purposes. Sorry for the messy and unoptimized asm code, I'm new to x86 assembly and Win 32 API.
There may be some bugs, so please note them in the Forum and, if you have suggestions for new functions, please tell me.
According to the 2003 Microsoft Platform SDK, OleLoadPicture -the API function used by this library to achieve it's objectives- only gives access to BMP, ICO, CUR, WMF and EMF format image files. But it's widely known that it works as well with JPG and GIF files. The library doesn't make any check of the file format you're trying to load, it just passes it to the corresponding Window API and checks for error or success.
This library only decodes, it doesn't encode and this won't change in the future, since the only goal of this library is to provide easy access to Windows COM picture loading.
This library doesn't include any LZW-GIF decoding code, so it doesn't inflinge any patent. GIF loading is provided by Windows, and Microsoft is the only responsible for the features they supply with their OS. Anyway, my advice would be not to use GIF loading in your software, for several reasons: