byte Arrya to bitmap
i m trying to make a drawing application. in this i have to save my drawing to server and after some time i can reload it in flash in editable format.
i am using jpgenoder for encoding than convert that bytearry to base64 encodede string than i send it to server .
but when i reload that bytearray in flash it uneditable So plz can u tell me how to reload that bytearry in editable form
in am using this code
public function sendToServer():String {
var canvasBmp:BitmapData=new BitmapData(_canvasWidth,_canvasHeight,false,0xFFFFFFFF);
canvasBmp.draw(container);
var jpgEncoder:JPGEncoder=new JPGEncoder(80);
var jpgStream:ByteArray=jpgEncoder.encode(canvasBmp);
var byteArrayAsString:String=Base64.encodeByteArray(jpgStream);
return byteArrayAsString;
}
public function drawingCanvas(xml) {
xmlLoader = new URLLoader();
xmlData= new XML();
xmlLoader.addEventListener(Event.COMPLETE, onComplete);
xmlLoader.load(new URLRequest("test1.xml"));
}
public function onComplete(event:Event) {
testtxt2.text=event.target.data;
_xmlResponse=new XML(event.target.data);
readXMLData(_xmlResponse);
}
public function readXMLData(xml) {
id=xml.@ID;
status=xml.@Status;
Owner=xml.@Owner;
canvasData=xml.@canvas;
for (var i=0; i<3; i++) {
_layerId=xml.Layers.Layer.@id;
_OccupiedBy=xml.Layers.Layer.@OccupiedBy;
_HashValue=xml.Layers.Layer.@HashValue;
_layerContent=xml.Layers.Layer;
}
var decodeStr:String=_layerContent[0].toString();
var byteArr:ByteArray=Base64.decodeToByteArray(decodeStr);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
loader.loadBytes(byteArr);
}
public function onImageLoaded(e:Event):void {
container.addChild(loader);
testtxt2.text+="\n loader.height"+loader.height;
trace(loader.width + " : " + loader.height);
}