2015-06-23 3 views
0

Мы знаем, используя метод сохранения ссылки на файл, мы можем сохранить компонент как изображение в flex 3, но я использую версию flex 3.0, я не получил метод сохранения в класс ссылки на файл. Его доступно на flex 3.4.0 onwards. У нас есть еще одна возможность сделать компонент для изображения в flex 3.0 компиляторе с помощью Flex Builder IDE?Как преобразовать компонент в изображение в flex?

Заранее спасибо

ответ

0

Если этот случай позволяет использовать HTML5, это может быть возможно.

public function capturePage(): void 
    { 
     var bmp:BitmapData = new BitmapData(this.width, this.height); 
     bmp.draw(this, new Matrix()); 

     // convert to JPEG. 
     var fileData:ByteArray = new JPEGEncoder().encode(bmp); 

     var base64: Base64Encoder = new Base64Encoder(); 
     base64.encodeBytes(fileData); 

     ExternalInterface.call("saveAsImage", "data:image/jpeg;base64,"+base64.toString()); 
    } 

index.template.html

<title>${title}</title> 
<script language="JavaScript" type="text/javascript"> 
function saveAsImage(value) 
{ 
    // open new window. You will be able to save as image. 
    window.open(value); 

    // or use HTML5 FileWriter API here. 
} 
</script> 
<script src="AC_OETags.js" language="javascript"></script> 
+0

Спасибо за вашу ценную информацию, она отлично работает для меня, я буду попробуйте с файловым архивом сохранить как формат изображения на локальной системе или сервере. – venkat

0
 private function doSave():void 
     {    
      var bmp:BitmapData = new BitmapData(canvas.width,canvas.height); 
      bmp.draw(canvas,new Matrix()); 

      var filedate:ByteArray = new JPEGEncoder().encode(bmp); 

      var uploadURL:URLRequest = new URLRequest(); 
      uploadURL.url = parentApplication.ServerUrl+"...../imageupload.php?fileName="+yourfilename; 
      uploadURL.contentType = 'application/octet-stream'; 
      uploadURL.method = URLRequestMethod.POST; 
      uploadURL.data = filedate; 
      var urlLoader:URLLoader = new URLLoader(); 
      urlLoader.addEventListener(Event.COMPLETE, completeHandler);     
      urlLoader.load(uploadURL); 
     } 

PHP File: imageupload.php

<?php 
     $fileName = $_REQUEST['fileName'] . ".jpeg"; 
     $fp = fopen("../tempfolder/".$fileName, 'wb'); 
     fwrite($fp, $GLOBALS[ 'HTTP_RAW_POST_DATA' ]); 
     fclose($fp); 
    ?>