I see your comment says "png encoder is faster".  One thing to keep in mind... 
PNG encoder also creates larger bytearrays, which equates to larger file size, 
which leads to longer upload/download times; especially as the image dimensions 
increase.  

 

-Andy

 

_____________________________________

Andrew Trice

Cynergy Systems, Inc.

http://www.cynergysystems.com

 

Blog: http://www.cynergysystems.com/blogs/page/andrewtrice

Email: [EMAIL PROTECTED]

Office: 866-CYNERGY 

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Mickael 
RUELLAN
Sent: Thursday, February 15, 2007 1:28 PM
To: [email protected]
Subject: Re: [flexcoders] Exporting Charts as Image

 

Hi,

Here is my way to export image (PNG or JPEG) to a PHP server. The image is 
available as if you post it on a HTML form, so in $_FILES variables.

First, I've added this 2 methods in JPEG and PNG encoder class :

        public function encodeFromUI(target:UIComponent):ByteArray {
            return this.encode(getUIComponentBitmapData(target));    
        }
        
        private function getUIComponentBitmapData( target : UIComponent ) : 
BitmapData    { 
            var bd : BitmapData = new BitmapData( target.width, target.height );
            var m : Matrix = new Matrix();
            bd.draw( target , m );
            return bd;  
        }

I've created a new method that encode and send the image :

    var png:PNGEnc = new PNGEnc();   // PNGEnc is faster than JPEG encoder
    var imageData:ByteArray = png.encodeFromUI(UIComp);
    
    var url:URLRequest = new URLRequest('http://your_url/print_bitmap.php 
<http://your_url/print_bitmap.php> ');
    
    var boundary:String = '------MIKA------';
    url.contentType = 'multipart/form-data; boundary='+boundary;
    boundary = '--'+boundary;
    
    var data:ByteArray = new ByteArray;
    
    data.writeUTFBytes(boundary+'\r\n');

    // start new part
    data.writeUTFBytes('Content-Disposition: form-data; name="file_upload"; 
filename="image.png"\r\n');
    data.writeUTFBytes('Content-Type: image/png\r\n');
    data.writeUTFBytes('Content-Transfer-Encoding: binary\r\n\r\n');
    // write image data
    data.writeBytes(imageData);
    // terminate part
    data.writeUTFBytes('\r\n'+boundary+'\r\n');
    
    // start a new part if you want to send other POST variables
    data.writeUTFBytes('Content-Disposition: form-data; name="test"\r\n\r\n');
    data.writeUTFBytes('mikaflash');
    data.writeUTFBytes('\r\n'+boundary+'\r\n');

    url.data = data;
    url.method = URLRequestMethod.POST;
    
    /*var Loader:URLLoader = new URLLoader();
    Loader.addEventListener(Event.COMPLETE,onLoadComplete);
    Loader.load(url);
    */
    navigateToURL(url,'_self');   

Hope this helps you. May be there is a better way to do this, but it's working 
fine for me.

Mickael



Paramjit Jolly a écrit : 

        Hi Prateek,

         

         I have seen your query, I am also looking for similar solution.

         

        Infact similar stuff I come across 3 years back When I was working with 
flash-java.

        That time I used POI for exporting charts & grid data in excel sheets 
which are templates (place holders) in server.

         

        Now our client wants similar look & feel charts as  Flex.

         

        For report generation I have tested 

        Adobe life cycle is perfect product, I m trying for images of charts 
also.

         

        Bty why u need image, if only for printing you can print using print 
job class.

         

        Also check for flash paper.

         

         

        Let me know if you get something goot for this.

         

         

         

        Regards

        Jolly

         

        ************************************************************************
        Life Fitness - A Division of Brunswick Corporation
        Singapore-486066
        http://www.lifefitness.com <http://www.lifefitness.com>  | 
http://www.brunswick.com <http://www.brunswick.com>  
        ************************************************************************

        
________________________________


        From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of 
., Prateek (MSAS Sys Dev IBD)
        Sent: Wednesday, February 14, 2007 8:16 PM
        To: [email protected]
        Subject: [flexcoders] Exporting Charts as Image

         

        Hi All

         

        We are using Flex charts in our web app. We also have a need to export 
the chart as an image so that the same can be embedded in an email sent out to 
users.

        Any pointers ?

         

        Thanks

        Prateek

        
________________________________


        NOTICE: If received in error, please destroy and notify sender. Sender 
does not intend to waive confidentiality or privilege. Use of this email is 
prohibited when received in error.

 

Reply via email to