If you want to squash the image to 16:9 before rendering to a
PictureBox, I would recommend resizing the image first, then
rendering it transparently using the "Render_Transparent" function.
If you are NOT trying to render transparently, just use
the "Render_Normal" function and specify the stretched size as
the "Dest_Width" / "Dest_Height" parameters. Rendering the 2nd way
will always be MUCH faster because it saves a resize operation, and
rendering normal is a quick BitBlt operation where rendering
transparent is a pixel-by-pixel operation (which can be slow for
large images).
If you want to use the transparent PNG approach but don't want to
save the images to the hard drive... you can always save them to
memory-based byte arrays using the "IO_SaveToBinary" function. Then
when it's time to render that "frame"... use the "IO_LoadFromBinary"
function and then call "Convert_ImageToPicture" to convert the hIMG
image handle to a System.Drawing.Image object to set the PictureBox
control. But again, this method uses a lot of conversion calls and
load/save functions. Speed will be an issue here for animation.
The bottom line is that if you're trying to do rapid loading and
displaying of images as part of an annimation sequence, using
the "Render_Normal" function once the images have been loaded will
work great for you. However, if you're trying to animate transparent
images, it will be very slow (unless you spend some time optomizing
the functions to do this a faster way, or change the source images to
allow a more "creative" way of rendering transparently).
P.S. - Rendering images transparently for annimation is highly
unusual because if you render 1 frame transparently, the background
for the transparent images will be the background color of the
PictureBox. Then when you go to render every other frame
transparently, the transparent regions of every other frame will show
the previously rendered frames behind them... which will look like
crap. Or maybe I'm not understanding fully what you're trying to do.