BACKGROUND / CURRENT SITUATION
My application visualizes products on shelves. (Like displays in a supermarket.) It loads images for anywhere between 50 and approx. 800 products in a collection of a custom class. Each item in the collection holds the key to link the image to the corresponding product, the full path to the image, and the image itself in a StdPicture object. The image formats currently supported are bmp, jpg and emf, i.e. the standard formats supported by VB6.
The application draws the image for each product to a location in a picture-box or the printer-object using the PaintPicture method including the various parameters to position and scale it properly.
FEATURE REQUEST
I want to support the png-format including its ability for (alpha-channel) transparency through GDI/GDI+, so that I don't create additional dependencies on external DLL's/OCX's.
What I’m looking for is a custom object/class to replace the StdPicture object, that can load the current bmp, jpg and emf formats, but also png. It is important that the transparency settings in the emf- and png-files are respected. Note: if it greatly simplifies the project by only supporting the png-format, I'd be interested to hear that, as I then may consider an alternative implementation.
The new object/class should be supported by two functions/methods: a loading function/method similar to the standard LoadPicture function, and a drawing function/method that works similar to the PaintPicture method. That way I can simply "plug in" the new component, and have minimal changes to make to the rest of the application.