Code written by Adam D. Ruppe. This code is all public domain. If you found it useful and have any suggestions/bug reports/whatever, email me: destructionator@gmail.com and put 'D bmp' in the subject somewhere. Give me some time to get back to you, real work has been busy lately and I might not have a chance to reply until the weekend. The makefile is set to compile on my system, which is a linux box. The makefile.windows uses wine, hardcoded to my box's paths. You'll almost certainly have to edit both of these to do anything useful with it. But in general: Compile the helper display-xxx.c file for your platform with your C compiler. Compile the bmp.d file with dmd. It is D 2, but my compiler is a couple months old. It might need some light updating on the newest compiler. Add the C obj file and the platform lib to the dmd command line. On Windows, it needs gdi32. On Linux, it needs X11. If you don't want these dependencies, just comment out the BMP.display() function and don't bother with the C files.