<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Better Solution found in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387333#M9042</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;One of the master programmers here at work pointed out the method &lt;/SPAN&gt;&lt;STRONG&gt;exportMapImage&lt;/STRONG&gt;&lt;SPAN&gt; which returns a url reference to the image that fills the ArcGISDynamicMapServiceLayer that I am extending. I then load that image usingactionscripts &lt;/SPAN&gt;&lt;STRONG&gt;Loader class&lt;/STRONG&gt;&lt;SPAN&gt;. from there I can get the bitmapdata of the image/layer. This worked out perfectly for me. Now I can do bitmap manipulation on the layer. Any response or words of advise would be greatly appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
public class GraphicLayerThresholding extends ArcGISDynamicMapServiceLayer
{
&amp;nbsp; override protected function updateLayer():void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; graphics.clear();
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; var imageParams:ImageParameters = new ImageParameters();
&amp;nbsp;&amp;nbsp; imageParams.height = map.height;
&amp;nbsp;&amp;nbsp; imageParams.width = map.width;
&amp;nbsp;&amp;nbsp; imageParams.format = 'png32';

&amp;nbsp;&amp;nbsp; var mapImage:MapImage = new MapImage();
&amp;nbsp;&amp;nbsp; this.exportMapImage(imageParams, new AsyncResponder(onResult, onFault));
&amp;nbsp; }
&amp;nbsp; private function onFault(info:Object, token:Object = null):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; Alert.show(info.toString(), "Export Problem");
&amp;nbsp; }
&amp;nbsp; private function onResult(mi:MapImage, token:Object = null):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; var loader:Loader = new Loader();
&amp;nbsp;&amp;nbsp; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
&amp;nbsp;&amp;nbsp; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; var request:URLRequest = new URLRequest(mi.href);
&amp;nbsp;&amp;nbsp; loader.load(request);
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; private function completeHandler(event:Event):void {
&amp;nbsp;&amp;nbsp; var loader:Loader = Loader(event.target.loader);
&amp;nbsp;&amp;nbsp; _image = Bitmap(loader.content);
&amp;nbsp;&amp;nbsp; _updateGraphic(_image, _thresholdValue);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; }
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Michael L. Hayden&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Web Application Developer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Data Transfer Solutions&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Fort Collins, Denver&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(970) 472-0032 (phone)&lt;/SPAN&gt;&lt;BR /&gt;&lt;A _jive_internal="true" href="https://community.esri.com/www.dtsagile.com" target="_blank"&gt;www.dtsagile.com&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 17:47:34 GMT</pubDate>
    <dc:creator>MichaelHayden</dc:creator>
    <dc:date>2021-12-11T17:47:34Z</dc:date>
    <item>
      <title>Getting a bitmap of a DynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387331#M9040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In the API for DynamicMapServiceLayer class there is the following entry in protected methods:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG&gt;zoomStartHandler(event:ZoomEvent):void&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Prepares the zoom animation by taking a bitmap of the layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My question is as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How can I get a bitmap of a DynamicMapServiceLayer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank You&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Apr 2010 20:54:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387331#M9040</guid>
      <dc:creator>MichaelHayden</dc:creator>
      <dc:date>2010-04-20T20:54:56Z</dc:date>
    </item>
    <item>
      <title>possible solution</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387332#M9041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;So I got the layer as a bitmap. Here's the code (any comments would be appreciated): &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;public class GraphicLayerThresholding extends ArcGISDynamicMapServiceLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private&amp;nbsp; function _init():void&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _thresholdLayerBitmapData = getLayerAsBitmap(this as UIComponent);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static public function getLayerAsBitmap(fromTarget:UIComponent, area:Rectangle = null):BitmapData&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var bd : BitmapData = new BitmapData( _map.width, _map.height, true, 0x00000000 ); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bd.draw( fromTarget, m );&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return bd;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Apr 2010 16:46:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387332#M9041</guid>
      <dc:creator>MichaelHayden</dc:creator>
      <dc:date>2010-04-22T16:46:01Z</dc:date>
    </item>
    <item>
      <title>Better Solution found</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387333#M9042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;One of the master programmers here at work pointed out the method &lt;/SPAN&gt;&lt;STRONG&gt;exportMapImage&lt;/STRONG&gt;&lt;SPAN&gt; which returns a url reference to the image that fills the ArcGISDynamicMapServiceLayer that I am extending. I then load that image usingactionscripts &lt;/SPAN&gt;&lt;STRONG&gt;Loader class&lt;/STRONG&gt;&lt;SPAN&gt;. from there I can get the bitmapdata of the image/layer. This worked out perfectly for me. Now I can do bitmap manipulation on the layer. Any response or words of advise would be greatly appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
public class GraphicLayerThresholding extends ArcGISDynamicMapServiceLayer
{
&amp;nbsp; override protected function updateLayer():void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; graphics.clear();
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; var imageParams:ImageParameters = new ImageParameters();
&amp;nbsp;&amp;nbsp; imageParams.height = map.height;
&amp;nbsp;&amp;nbsp; imageParams.width = map.width;
&amp;nbsp;&amp;nbsp; imageParams.format = 'png32';

&amp;nbsp;&amp;nbsp; var mapImage:MapImage = new MapImage();
&amp;nbsp;&amp;nbsp; this.exportMapImage(imageParams, new AsyncResponder(onResult, onFault));
&amp;nbsp; }
&amp;nbsp; private function onFault(info:Object, token:Object = null):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; Alert.show(info.toString(), "Export Problem");
&amp;nbsp; }
&amp;nbsp; private function onResult(mi:MapImage, token:Object = null):void
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; var loader:Loader = new Loader();
&amp;nbsp;&amp;nbsp; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
&amp;nbsp;&amp;nbsp; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; var request:URLRequest = new URLRequest(mi.href);
&amp;nbsp;&amp;nbsp; loader.load(request);
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; private function completeHandler(event:Event):void {
&amp;nbsp;&amp;nbsp; var loader:Loader = Loader(event.target.loader);
&amp;nbsp;&amp;nbsp; _image = Bitmap(loader.content);
&amp;nbsp;&amp;nbsp; _updateGraphic(_image, _thresholdValue);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; }
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Michael L. Hayden&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Web Application Developer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Data Transfer Solutions&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Fort Collins, Denver&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(970) 472-0032 (phone)&lt;/SPAN&gt;&lt;BR /&gt;&lt;A _jive_internal="true" href="https://community.esri.com/www.dtsagile.com" target="_blank"&gt;www.dtsagile.com&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 17:47:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387333#M9042</guid>
      <dc:creator>MichaelHayden</dc:creator>
      <dc:date>2021-12-11T17:47:34Z</dc:date>
    </item>
    <item>
      <title>Getting a bitmap of a DynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387334#M9043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here's an example of getting to the loaded tiles in a tiled layer and modifying their bitmapData. The same could be done for a dynamic layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://forums.esri.com/Thread.asp?c=158&amp;amp;f=2421&amp;amp;t=303099#948090"&gt;http://forums.esri.com/Thread.asp?c=158&amp;amp;f=2421&amp;amp;t=303099#948090&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Apr 2010 15:33:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387334#M9043</guid>
      <dc:creator>DasaPaddock</dc:creator>
      <dc:date>2010-04-23T15:33:40Z</dc:date>
    </item>
    <item>
      <title>The magic is in extending ArcGISDynamicMapServiceLayer</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387335#M9044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for replying dpaddock,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I did happen upon the link you suggested when I first started creating this widget. The example did serve me well. Then I was introduced to extending the ArcGISDynamicMapServiceLayer and that made for a more elegant solution. In my overriding of the updateLayer() method (which fires when changes occur to the layer i.e. map extent change, pan, etc), I'm retrieving an image copy of the layer from the esri server, clearing this layers graphics (this.graphics.clear()),&amp;nbsp; applying thresholding adjustments and filling my layer's graphics parameter with the thresholding adjustment's resulting bitmapData.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Michael L. Hayden&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Web Application Developer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Data Transfer Solutions&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Fort Collins, Denver&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(970) 472-0032 (phone)&lt;/SPAN&gt;&lt;BR /&gt;&lt;A _jive_internal="true" href="https://community.esri.com/www.dtsagile.com"&gt;www.dtsagile.com&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Apr 2010 19:57:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/getting-a-bitmap-of-a-dynamicmapservicelayer/m-p/387335#M9044</guid>
      <dc:creator>MichaelHayden</dc:creator>
      <dc:date>2010-04-26T19:57:20Z</dc:date>
    </item>
  </channel>
</rss>

