Flex分享:截屏效果制作

在Flex应用中,我们经常需要制作一些截图效果,下面给大家分享截图制作step by step:

Flex端UI呈现:
应用API:import mx.graphics.ImageSnapshot;
    var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(source);
    var encoded_jpg:JPEGEncoder = new JPEGEncoder(100);
    var imageByteArray:ByteArray = imageSnap.data as ByteArray;

Flex向Server发送请求:
  1. var req:URLRequest = new URLRequest();
  2. req.method = URLRequestMethod.POST;
  3. req.data = snapshot.data;
  4. req.contentType="application/octet-stream";
  5. req.url = "snapshotuploadhandler.aspx";
  6. var loader:URLLoader = new URLLoader;
  7. loader.load(req);


Base64算法: ByteArray -> String 

在URLRequest之中,data可传递Binary格式的数据。
但在下列代码之中,URLVariables做为Object,其内容均为key-value格式,所以,Img对象赋值传参过程以String类型呈现:

var variables:URLVariables = new URLVariables();
variables.img = encoded;
variables.vid = '77';
request.data = variables;

为处理这一情况,我们需要提供img对象的Base64解码。
Base64编码与解码例程参见:http://www.cordyblog.cn/?action=show&id=49

encoded对象以Base64.encodeByteArray(imageByteArray)编码后作为Request对象的参数传递

clear,搞定,大家可以试一下,加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章