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,搞定,大家可以試一下,加油!

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