Here's examples using it:
local art = PreserveArt( "snap", 0, 0, 320, 240 );
art.set_anchor( Anchor.Bottom );
art.set_fit_or_fill( "fit" );
local image = PreserveImage( "image.jpg", 0, 0, 320, 240 );
image.set_anchor( Anchor.Left );
image.set_fit_or_fill( "fill" );
"fit" or "fill" will both preserve the texture aspect. Fill in this sense fills the size of the object but keeps the texture aspect - "stretch" will be just like preserve_aspect = false and stretch the texture to the width and height of the object.
If you are wanting to change the setting between fit or fill, you can use the set_fit_or_fill function, but will need to write some code to determine when to switch from one to the other (check texture size on transition)
Let me know if you have other questions or suggestions!