<?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: Symbol object to image (svg) in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156420#M14571</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the quick reply!&amp;nbsp; While I havn't fully implemented this yet into my widget, I was able to do a quick test with that sample server and it worked perfectly!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&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;&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; var symbol = this.layers&lt;I&gt;.layer.renderer.getSymbol();&lt;/I&gt;
&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;&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; var testDiv = dojo.create("div", { id: "testDiv", style: "width:20px; height:20px; border: 0px solid black;" }, this.legendDiv);
&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;&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; var mySurface = gfx.createSurface(dom.byId("testDiv"), 20, 20);
&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; var descriptors = jsonUtils.getShapeDescriptors(symbol);
&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; var shape = mySurface.createShape(descriptors.defaultShape).setFill(descriptors.fill).setStroke(descriptors.stroke);
&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; shape.applyTransform({ dx: 10, dy: 10 });&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 08:18:05 GMT</pubDate>
    <dc:creator>JosephRogan</dc:creator>
    <dc:date>2021-12-11T08:18:05Z</dc:date>
    <item>
      <title>Symbol object to image (svg)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156418#M14569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a custom Legend widget which I made some time ago and have been using.&amp;nbsp; It normally works by doing an esriRequest to get the Legend info for that layer.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I've encountered though is some layers do not have this info, example: &lt;A href="http://services.arcgis.com/P3ePLMYs2RVChkJx/ArcGIS/rest/services/World_UTM_Grid/FeatureServer/0" title="http://services.arcgis.com/P3ePLMYs2RVChkJx/ArcGIS/rest/services/World_UTM_Grid/FeatureServer/0"&gt;http://services.arcgis.com/P3ePLMYs2RVChkJx/ArcGIS/rest/services/World_UTM_Grid/FeatureServer/0&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I would like to do is use the Symbol object which I can get from the Renderer to create an image that I can use for the legend.&amp;nbsp; I'm not particular on the format, but I've tried using the standard Legend widget with a layer like this and it creates an SVG path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How does the default Legend widget do this? Symbol -&amp;gt; SVG path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The markup for the service above would some create this:&lt;/P&gt;&lt;P&gt;&amp;lt;path transform="matrix(1.00000000,0.00000000,0.00000000,1.00000000,15.00000000,15.00000000)" dojoGfxStrokeStyle="solid" stroke-dasharray="none" fill-rule="evenodd" d="M-10-10L 10 0L 10 10L-10 10L-10-10" path="M -10,-10 L 10,0 L 10,10 L -10,10 L -10,-10 E" stroke-miterlimit="4" stroke-linejoin="miter" stroke-linecap="butt" stroke-width="1" stroke-opacity="1" stroke="rgb(105, 105, 105)" fill-opacity="0.5019607843137255" fill="rgb(211, 211, 211)"&amp;gt;&amp;lt;/path&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Feb 2016 23:24:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156418#M14569</guid>
      <dc:creator>JosephRogan</dc:creator>
      <dc:date>2016-02-24T23:24:32Z</dc:date>
    </item>
    <item>
      <title>Re: Symbol object to image (svg)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156419#M14570</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check out the sample here:&lt;/P&gt;&lt;P&gt;&lt;A href="https://jscore.esri.com/javascript/jsapi/esri.symbols.jsonutils-amd.html#getshapedescriptors"&gt;https://jscore.esri.com/javascript/jsapi/esri.symbols.jsonutils-amd.html#getshapedescriptors&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Feb 2016 23:48:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156419#M14570</guid>
      <dc:creator>JohnGrayson</dc:creator>
      <dc:date>2016-02-24T23:48:01Z</dc:date>
    </item>
    <item>
      <title>Re: Symbol object to image (svg)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156420#M14571</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the quick reply!&amp;nbsp; While I havn't fully implemented this yet into my widget, I was able to do a quick test with that sample server and it worked perfectly!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&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;&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; var symbol = this.layers&lt;I&gt;.layer.renderer.getSymbol();&lt;/I&gt;
&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;&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; var testDiv = dojo.create("div", { id: "testDiv", style: "width:20px; height:20px; border: 0px solid black;" }, this.legendDiv);
&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;&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; var mySurface = gfx.createSurface(dom.byId("testDiv"), 20, 20);
&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; var descriptors = jsonUtils.getShapeDescriptors(symbol);
&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; var shape = mySurface.createShape(descriptors.defaultShape).setFill(descriptors.fill).setStroke(descriptors.stroke);
&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; shape.applyTransform({ dx: 10, dy: 10 });&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:18:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156420#M14571</guid>
      <dc:creator>JosephRogan</dc:creator>
      <dc:date>2021-12-11T08:18:05Z</dc:date>
    </item>
    <item>
      <title>Re: Symbol object to image (svg)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156421#M14572</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The link no longer works. Can you please provide detailed information or a working link?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Mar 2017 23:17:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156421#M14572</guid>
      <dc:creator>GregRieck</dc:creator>
      <dc:date>2017-03-14T23:17:46Z</dc:date>
    </item>
    <item>
      <title>Re: Symbol object to image (svg)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156422#M14573</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;I don't know the best way to do this in 3.XX, however the&amp;nbsp;&lt;/SPAN&gt;4.XX API has a a symbolPreview module (esri/symbols/support/symbolPreview) with a renderPreviewHTML function, for example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;symbolPreview.renderPreviewHTML(&amp;lt;symbol&amp;gt;,{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node: &amp;lt;HTMLElement&amp;gt;, //svg will be a child of this node&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opacity: 1,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size:&amp;nbsp;10&lt;BR /&gt; });&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will resolve to an HTMLElement containing the SVG, so you can add it manually if you prefer instead of providing a node.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 13:42:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156422#M14573</guid>
      <dc:creator>ThomasSolow</dc:creator>
      <dc:date>2017-03-15T13:42:25Z</dc:date>
    </item>
    <item>
      <title>Re: Symbol object to image (svg)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156423#M14574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does this help?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// My config, passed to getSymbol()&lt;/P&gt;&lt;P&gt;location: {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;path: 'M28,0.074 28,10.87 14,42 0,56 14,42 28,36.826 42,42 56,56 42,42 28,10.657z',&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;size: 35,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;startAngle: 0,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;color: {r: 36,g: 117,b: 255,a: 1,color: ''}&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;me.getSymbol = function (path, color, size, angle) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;var markerSymbol;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;require(["esri/symbols/SimpleMarkerSymbol"], function (SimpleMarkerSymbol) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;markerSymbol = new SimpleMarkerSymbol();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;markerSymbol.setPath(path);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;markerSymbol.setColor(color);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;markerSymbol.setOutline();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;markerSymbol.setSize(size);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;markerSymbol.setAngle(angle);&lt;BR /&gt; });&lt;BR /&gt; return markerSymbol;&lt;BR /&gt; };&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 15:08:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156423#M14574</guid>
      <dc:creator>JordanBaumgardner</dc:creator>
      <dc:date>2017-03-15T15:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: Symbol object to image (svg)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156424#M14575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is how I convert the SVG from the legend to the DIV. (Ported 3.x digit TOC code)&lt;/P&gt;&lt;P&gt;_getLegendIconUrl: function(legend) {&lt;BR /&gt; var src = legend.url;&lt;BR /&gt; if (src == null) {&lt;BR /&gt; src = "data:image/png;base64," +&lt;BR /&gt; this.rootLayerTOC._legendResponse.layers[this.rootLayer.layerId].legend[0].imageData;&lt;BR /&gt; } else if (src != null &amp;amp;&amp;amp; src.indexOf('data') == -1) {&lt;BR /&gt; // in some cases NULL value may cause #legend != #of renderer entry.&lt;BR /&gt; if (!has('ie') &amp;amp;&amp;amp; legend.imageData &amp;amp;&amp;amp; legend.imageData.length &amp;gt; 0) {&lt;BR /&gt; src = "data:image/png;base64," + legend.imageData;&lt;BR /&gt; } else {&lt;BR /&gt; if (src.indexOf('http') !== 0) {&lt;BR /&gt; // resolve relative url&lt;BR /&gt; src = this.rootLayer.url + '/' + this.serviceLayer.id + '/images/' + src;&lt;BR /&gt; }&lt;BR /&gt; if (this.rootLayer.credential &amp;amp;&amp;amp; this.rootLayer.credential.token) {&lt;BR /&gt; src = src + "?token=" + this.rootLayer.credential.token;&lt;BR /&gt; } else if (esriConfig.defaults.io.alwaysUseProxy) {&lt;BR /&gt; src = esriConfig.defaults.io.proxyUrl + "?" + src;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; return src;&lt;BR /&gt; },&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 15:13:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/symbol-object-to-image-svg/m-p/156424#M14575</guid>
      <dc:creator>JordanBaumgardner</dc:creator>
      <dc:date>2017-03-15T15:13:04Z</dc:date>
    </item>
  </channel>
</rss>

