<?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 Re: zoomSlider Visible still preset on image in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/zoomslider-visible-still-preset-on-image/m-p/84899#M1987</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;shafi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/UIComponent.html#validateNow()" rel="nofollow noopener noreferrer" target="_blank"&gt;From adobe reference:&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; ...Validate and update the properties and layout of this object&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;&lt;STRONG&gt;and redraw it, if necessary&lt;/STRONG&gt;&lt;/SPAN&gt;...&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sample here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="font-size:1;"&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&lt;SPAN&gt;&amp;lt;s:Application xmlns:fx="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://ns.adobe.com/mxml/2009" rel="nofollow noopener noreferrer" target="_blank"&gt;http://ns.adobe.com/mxml/2009&lt;/A&gt;&lt;SPAN&gt;" &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx"
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ags="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.esri.com/2008/ags" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.esri.com/2008/ags&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
 &amp;lt;s:layout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout gap="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingBottom="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingLeft="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingRight="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingTop="20" /&amp;gt;
 &amp;lt;/s:layout&amp;gt; 
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import mx.core.UIComponent;
&amp;nbsp;&amp;nbsp; import mx.graphics.codec.PNGEncoder;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private const FILE_NAME:String = "screen.png";
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private var bitmapData:BitmapData;
&amp;nbsp;&amp;nbsp; private var logoBitmapData:BitmapData;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Listen print button click
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function onPrintClick(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; exportPngImage();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Export png
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; private function exportPngImage():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (map)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fileReference:FileReference = new FileReference();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hideComponents();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // add listeners to show zoom slider after execution
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileReference.addEventListener(Event.COMPLETE, fileSaveComplete);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileReference.addEventListener(Event.CANCEL, fileSaveCancel);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapComponent:UIComponent = map as UIComponent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var exportData:BitmapData = getBitmapData(mapComponent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (exportData)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // encode to PNG format
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var pngEncoder:PNGEncoder = new PNGEncoder();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var byteArray:ByteArray = pngEncoder.encode(exportData);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // open dialog box
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileReference.save(byteArray, FILE_NAME);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportData = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logoBitmapData = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (ioError:IllegalOperationError)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { // handle error 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (error:Error)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { // handle error 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * file upload/download canceled by user
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function fileSaveCancel(event:Event):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; showComponents();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * file upload/download completed
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function fileSaveComplete(event:Event):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; showComponents();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function hideComponents():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxCrosshair.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.crosshairVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxLogo.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.logoVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxScale.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.scaleBarVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxSlider.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.zoomSliderVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // force UIComponent update/redraw
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.validateNow();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function showComponents():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.crosshairVisible = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.logoVisible = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.scaleBarVisible = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.zoomSliderVisible = true;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * get bitmap data from IBitmapDrawable component
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; private function getBitmapData(uiComponent:UIComponent):BitmapData
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (uiComponent)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // map image size
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapWidth:Number = uiComponent.width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapHeigth:Number = uiComponent.height;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // get flash map bitmap data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData = new BitmapData(mapWidth, mapHeigth);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var matrix:Matrix = new Matrix();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData.draw(uiComponent, matrix);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (chboxCR.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // logo image size
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoWidth:Number = logo.width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoHeigth:Number = logo.height;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // get logo bitmap data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logoBitmapData = new BitmapData(logoWidth, logoHeigth);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logoBitmapData.draw(logo, matrix);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // calculate logo left-top position on map
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoX:Number = mapWidth - logoWidth - 10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoY:Number = 10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var point:Point = new Point(logoX, logoY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mult:uint = 0x100; // 100% (256) RGBA channels multipliers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData.merge(logoBitmapData, logoBitmapData.rect, point, mult, mult, mult, mult);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (error:Error)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // handle error 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; return bitmapData;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 
 &amp;lt;mx:Image id="logo"
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://edn.esri.com/common/style/images/esriLogoSm.gif" rel="nofollow noopener noreferrer" target="_blank"&gt;http://edn.esri.com/common/style/images/esriLogoSm.gif&lt;/A&gt;&lt;SPAN&gt;" /&amp;gt;&lt;/SPAN&gt;
 
 &amp;lt;ags:Map id="map" 
&amp;nbsp;&amp;nbsp;&amp;nbsp; crosshairVisible="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; logoVisible="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; scaleBarVisible="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; zoomSliderVisible="true"&amp;gt;
&amp;nbsp; 
&lt;SPAN&gt;&amp;nbsp; &amp;lt;ags:ArcGISTiledMapServiceLayer url="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" rel="nofollow noopener noreferrer" target="_blank"&gt;http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer&lt;/A&gt;&lt;SPAN&gt;"/&amp;gt;&lt;/SPAN&gt;
&amp;nbsp; 
 &amp;lt;/ags:Map&amp;gt;
 
 &amp;lt;s:HGroup width="100%" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gap="10"&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxCrosshair"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print crosshair" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxLogo"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print logo" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxScale"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print scale bar" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxSlider"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print zoom slider" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxCR"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Add Copyright" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:Button label="Print to png"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; click="onPrintClick(event)" /&amp;gt;
&amp;nbsp; 
 &amp;lt;/s:HGroup&amp;gt;
 
&amp;lt;/s:Application&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 23:16:01 GMT</pubDate>
    <dc:creator>IvanBespalov</dc:creator>
    <dc:date>2021-12-10T23:16:01Z</dc:date>
    <item>
      <title>zoomSlider Visible still preset on image</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/zoomslider-visible-still-preset-on-image/m-p/84898#M1986</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm exporting the map into image and i don't want zoom slider in the image so before doing&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;map.zoomSliderVisible = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;const imageSnapshot:ImageSnapshot = ImageSnapshot.captureImage(map,96,decoder,true);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But still I find zoomSlider in final image&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Feb 2012 09:43:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/zoomslider-visible-still-preset-on-image/m-p/84898#M1986</guid>
      <dc:creator>shafitrumboo</dc:creator>
      <dc:date>2012-02-20T09:43:09Z</dc:date>
    </item>
    <item>
      <title>Re: zoomSlider Visible still preset on image</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/zoomslider-visible-still-preset-on-image/m-p/84899#M1987</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;shafi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/UIComponent.html#validateNow()" rel="nofollow noopener noreferrer" target="_blank"&gt;From adobe reference:&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; ...Validate and update the properties and layout of this object&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;&lt;STRONG&gt;and redraw it, if necessary&lt;/STRONG&gt;&lt;/SPAN&gt;...&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sample here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="font-size:1;"&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&lt;SPAN&gt;&amp;lt;s:Application xmlns:fx="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://ns.adobe.com/mxml/2009" rel="nofollow noopener noreferrer" target="_blank"&gt;http://ns.adobe.com/mxml/2009&lt;/A&gt;&lt;SPAN&gt;" &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx"
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ags="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.esri.com/2008/ags" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.esri.com/2008/ags&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;
 &amp;lt;s:layout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout gap="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingBottom="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingLeft="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingRight="20"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingTop="20" /&amp;gt;
 &amp;lt;/s:layout&amp;gt; 
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import mx.core.UIComponent;
&amp;nbsp;&amp;nbsp; import mx.graphics.codec.PNGEncoder;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private const FILE_NAME:String = "screen.png";
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private var bitmapData:BitmapData;
&amp;nbsp;&amp;nbsp; private var logoBitmapData:BitmapData;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Listen print button click
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function onPrintClick(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; exportPngImage();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Export png
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; private function exportPngImage():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (map)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fileReference:FileReference = new FileReference();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hideComponents();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // add listeners to show zoom slider after execution
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileReference.addEventListener(Event.COMPLETE, fileSaveComplete);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileReference.addEventListener(Event.CANCEL, fileSaveCancel);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapComponent:UIComponent = map as UIComponent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var exportData:BitmapData = getBitmapData(mapComponent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (exportData)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // encode to PNG format
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var pngEncoder:PNGEncoder = new PNGEncoder();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var byteArray:ByteArray = pngEncoder.encode(exportData);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // open dialog box
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileReference.save(byteArray, FILE_NAME);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exportData = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logoBitmapData = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (ioError:IllegalOperationError)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { // handle error 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (error:Error)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { // handle error 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * file upload/download canceled by user
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function fileSaveCancel(event:Event):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; showComponents();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * file upload/download completed
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function fileSaveComplete(event:Event):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; showComponents();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function hideComponents():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxCrosshair.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.crosshairVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxLogo.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.logoVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxScale.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.scaleBarVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!chboxSlider.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.zoomSliderVisible = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // force UIComponent update/redraw
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.validateNow();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function showComponents():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.crosshairVisible = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.logoVisible = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.scaleBarVisible = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.zoomSliderVisible = true;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * get bitmap data from IBitmapDrawable component
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; private function getBitmapData(uiComponent:UIComponent):BitmapData
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (uiComponent)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // map image size
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapWidth:Number = uiComponent.width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapHeigth:Number = uiComponent.height;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // get flash map bitmap data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData = new BitmapData(mapWidth, mapHeigth);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var matrix:Matrix = new Matrix();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData.draw(uiComponent, matrix);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (chboxCR.selected)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // logo image size
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoWidth:Number = logo.width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoHeigth:Number = logo.height;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // get logo bitmap data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logoBitmapData = new BitmapData(logoWidth, logoHeigth);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logoBitmapData.draw(logo, matrix);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // calculate logo left-top position on map
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoX:Number = mapWidth - logoWidth - 10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var logoY:Number = 10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var point:Point = new Point(logoX, logoY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mult:uint = 0x100; // 100% (256) RGBA channels multipliers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmapData.merge(logoBitmapData, logoBitmapData.rect, point, mult, mult, mult, mult);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (error:Error)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // handle error 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; return bitmapData;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 
 &amp;lt;mx:Image id="logo"
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://edn.esri.com/common/style/images/esriLogoSm.gif" rel="nofollow noopener noreferrer" target="_blank"&gt;http://edn.esri.com/common/style/images/esriLogoSm.gif&lt;/A&gt;&lt;SPAN&gt;" /&amp;gt;&lt;/SPAN&gt;
 
 &amp;lt;ags:Map id="map" 
&amp;nbsp;&amp;nbsp;&amp;nbsp; crosshairVisible="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; logoVisible="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; scaleBarVisible="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; zoomSliderVisible="true"&amp;gt;
&amp;nbsp; 
&lt;SPAN&gt;&amp;nbsp; &amp;lt;ags:ArcGISTiledMapServiceLayer url="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" rel="nofollow noopener noreferrer" target="_blank"&gt;http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer&lt;/A&gt;&lt;SPAN&gt;"/&amp;gt;&lt;/SPAN&gt;
&amp;nbsp; 
 &amp;lt;/ags:Map&amp;gt;
 
 &amp;lt;s:HGroup width="100%" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gap="10"&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxCrosshair"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print crosshair" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxLogo"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print logo" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxScale"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print scale bar" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxSlider"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Print zoom slider" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:CheckBox id="chboxCR"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selected="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label="Add Copyright" /&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:Button label="Print to png"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; click="onPrintClick(event)" /&amp;gt;
&amp;nbsp; 
 &amp;lt;/s:HGroup&amp;gt;
 
&amp;lt;/s:Application&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 23:16:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/zoomslider-visible-still-preset-on-image/m-p/84899#M1987</guid>
      <dc:creator>IvanBespalov</dc:creator>
      <dc:date>2021-12-10T23:16:01Z</dc:date>
    </item>
  </channel>
</rss>

