The WinX image API is designed to work with multiple image types. Currently only Windows BMP files are supported, but I hope to add support for JPEG and PNG later.
WinX images are implemented as 32 bit Win32 DIB Sections. This means you can use a WinX image handle wherever you can use a Win32 bitmap handle, and you can directly mannipulate the image bits. For example, you can use an image loaded with WinXDraw_LoadImage as the bitmap for a button or static control.
Due to the way Auto Draw works, it is not efficient to support direct pixel mannipulations on a window. You can, however, mannipulate individual pixels on an image. If you need to modify individual pixels this is the best way to acheive it.
WinX images can have alpha (transparancy) channels. To draw an image using the alpha channel for transparency effects you need to premultiply the image with WinXDraw_PremultiplyImage first. This causes loss of information, so you'll probably want to copy the image first.
Apart from direct pixel mannipulations you cannot draw directly to a bitmap. You can play a window full of Auto Draw records into a bitmap, however. To do this, use the WinXDraw_Snapshot function.
WinXDrawImage
WinXDraw_CopyImage
WinXDraw_CreateImage
WinXDraw_DeleteImage
WinXDraw_GetImageChannel
WinXDraw_GetImageInfo
WinXDraw_GetImagePixel
WinXDraw_LoadImage
WinXDraw_PremultiplyImage
WinXDraw_ResizeImage
WinXDraw_SaveImage
WinXDraw_SetConstantAlpha
WinXDraw_SetImageChannel
WinXDraw_SetImagePixel
WinXDraw_Snapshot