Never been to CodeSnippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)

Take a snapshot from the Flash Player (See related posts)

Take a snapshot of a DisplayObject rendered inside the Flash Player and have the byte array available for server side processing or for reuse inside the Flash application.

import com.adobe.images.*;
import com.dynamicflash.util.Base64;
import flash.display.DisplayObject;
import flash.geom.Rectangle;
import flash.utils.ByteArray;

function capture(target:DisplayObject, options:Object, format:String):void{

	var relative:DisplayObject = target.parent;

	var rect:Rectangle = target.getBounds(relative);
			
	var bitmapData:BitmapData = new BitmapData(rect.width, rect.height);
			
	bitmapData.draw(relative, new Matrix(1, 0, 0, 1, -rect.x, -rect.y ));
			
	var byteArray:ByteArray;

	switch (format){
		
		case "JPG":
		var jpgEncoder:JPGEncoder = new JPGEncoder(JPG_QUALITY_DEFAULT);
		byteArray = jpgEncoder.encode(bitmapData);
		break;
				
		case "PNG":
		byteArray = PNGEncoder.encode(bitmapData);
		break;

	}
			
	var byteArrayAsString:String = Base64.encodeByteArray(byteArray);

	// Send the data to the server

	

Comments on this post

dorevn posts on Dec 30, 2008 at 16:44
Thanks for your sharing

You need to create an account or log in to post comments to this site.