# Trying to use the PNGEncoder multiple times

**URL:** <https://forum.kirupa.com/t/trying-to-use-the-pngencoder-multiple-times/289936>\
**Category:** flash\
**Created:** [June 7, 2009, 5:46pm UTC](https://forum.kirupa.com/t/trying-to-use-the-pngencoder-multiple-times/289936 "2009-06-07T17:46:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SquirtGun](https://avatars.discourse-cdn.com/v4/letter/s/f07891/32.png) [@SquirtGun](https://forum.kirupa.com/u/SquirtGun)\
**Post date:** [June 7, 2009, 5:46pm UTC](https://forum.kirupa.com/t/trying-to-use-the-pngencoder-multiple-times/289936/1 "2009-06-07T17:46:04Z")

</div>

Hello,

I have a large image that exceeds the bitmapdata limits, so I am trying to break it up into 4 separate images and encode them separately using the PNGEncoder. The first 1 comes out great. The remainly 3 all contain the same bytearray data and result in a blank image. Here is my code.

```auto
        public function encodeUsersDrawing():void{
                                
                    pngImageQuadrant1 = new BitmapData(1875, 2400, true);
                    pngImageQuadrant2 = new BitmapData(1875, 2400, true);
                    pngImageQuadrant3 = new BitmapData(1875, 2400, true);
                    pngImageQuadrant4 = new BitmapData(1875, 2400, true);
                    
                    pngImageQuadrant1.draw(productObject.canvas, null, null, null, new Rectangle( 0, 0, 1875, 2400 ), true );
                    pngImageQuadrant2.draw(productObject.canvas, null, null, null, new Rectangle( 1875, 0, 1875, 2400 ), true );
                    pngImageQuadrant3.draw(productObject.canvas, null, null, null, new Rectangle( 0, 2400, 1875, 2400 ), true );
                    pngImageQuadrant4.draw(productObject.canvas, null, null, null, new Rectangle( 1875, 2400, 1875, 2400 ), true );
                    
                    Quadrant1ByteArray = PNGEncoder.encode(pngImageQuadrant1);
                    Quadrant2ByteArray = PNGEncoder.encode(pngImageQuadrant2);
                    Quadrant3ByteArray = PNGEncoder.encode(pngImageQuadrant3);
                    Quadrant4ByteArray = PNGEncoder.encode(pngImageQuadrant4);
                                        
                    sendPNG();

```

```auto
        private function sendPNG():void{
            
            var encodedQuadrant1:String=Base64.encodeByteArray(Quadrant1ByteArray);
            var encodedQuadrant2:String=Base64.encodeByteArray(Quadrant2ByteArray);
            var encodedQuadrant3:String=Base64.encodeByteArray(Quadrant3ByteArray);
            var encodedQuadrant4:String=Base64.encodeByteArray(Quadrant4ByteArray);
            
            //var encoded:String=Base64.encodeByteArray(byte_array);
            var variables:URLVariables=new URLVariables();
            variables.pngQuadrant1=encodedQuadrant1;
            variables.pngQuadrant2=encodedQuadrant2;
            variables.pngQuadrant3=encodedQuadrant3;
            variables.pngQuadrant4=encodedQuadrant4;
            
            
            var sendPNGINFO:URLRequest=new URLRequest();
            sendPNGINFO.url="../system/swfProcessImage.php";
            sendPNGINFO.method=URLRequestMethod.POST;
            sendPNGINFO.data=variables;
            var loader:URLLoader=new URLLoader();
            loader.dataFormat=URLLoaderDataFormat.BINARY;
            addLoaderListeners(loader);
            try 
            {
                loader.load(sendPNGINFO);
            } 
            catch (error:Error) 
            {
                trace('Unable to load the document.');
            }
        }

```

thanks for any help!

~squirt
