The only crazy thing I can think to do is take a BitmapData snapshot of the swf (which can maintain 32bit transparency) from within Flash, and then save the image data as an transparent PNG, and recombine the image / other layers as appropriate to print.
Something like:
http://designreviver.com/tutorials/actionscript-3-jpeg-encoder-revealed-saving-images-from-flash/
(PNG version)
http://www.quietless.com/kitchen/upload-bitmapdata-snapshot-to-server-in-as3/
But using PNG, and pushing the resultant image into the page via AJAX to print and the like.
As I said, pretty crazy.... (but hey it’s Monday and I live in Australia - we are always a bit crazy down here)
Aran
Brad.
I have done a project using bitmapdata / saving images using AIR to save an image sequence directly to disk for making backup images (animated GIF / static GIF) for online swf display ads, but never to integrate back into a web page.
Re: transparency printing - There are lots of transparent GIFs / PNGs in modern websites which seem to print ok. You could do a pretty quick proof of concept (without doing all of the bitmapdata authoring) with a pre-created image to see if it will work for you...
Brad.
There's a fourth argument you can pass to the BitmapData constructor that defines what your transparent pixels are filled with. The default for this is white (0xFFFFFFFF). So, if all your transparent pixels are white, chances are good you just need to make this slight adjustment to your BitmapData assignment...
bitmapData = new BitmapData( bitmap.width, bitmap.height, true, 0x00FFFFFF );
// this fill color is a transparent ARGB value, and should give you your transparency you want
Cheers,
His server-side script is ignoring the alpha:
“The main features of BitmapExporter are:
- send any BitmapData object to a PHP server-side script with one line of code (currently
alpha channels are ignored for performance reasons)
...”
I think you need a different server-side script (Or use AS3 so use can encode to PNG on the client-side before sending to the server)