<?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 PictureMarkerSymbol not deserialized properly in ArcGIS API for Silverlight Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/picturemarkersymbol-not-deserialized-properly/m-p/340357#M8769</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I thought I would report this issue. It appears that the PictureMarkerSymbol is not deserialized properly when calling Symbol.FromJson() or Renderer.FromJson() where a PictureMarkerSymbol is used in the renderer. I always have to deserialize the Source separately and reset it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not Working:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol beforeSymbol = ...&lt;/P&gt;&lt;P&gt;string symbolJson = beforeSymbol.ToJson();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol afterSymbol = Symbol.FromJson(symbolJson); //image source corrupted, have to recreate, will not show up on map or esriPrimitives:SymbolDisplay properly&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Working:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol beforeSymbol = ...&lt;/P&gt;&lt;P&gt;string symbolJson = beforeSymbol.ToJson();&lt;/P&gt;&lt;P&gt;PictureMarkerSymbolJson symbolSerialized = JsonConvert.DeserializeObject&amp;lt;PictureMarkerSymbolJson&amp;gt;(symbolJson);&lt;/P&gt;&lt;P&gt;string imageData = symbolSerialized.imageData;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol afterSymbol = Symbol.FromJson(symbolJson);&lt;/P&gt;&lt;P&gt;imageData = imageData.Replace(" ", "+");&lt;/P&gt;&lt;P&gt;byte[] contentInBytes = Convert.FromBase64String(imageData);&lt;/P&gt;&lt;P&gt;BitmapImage bmi = new BitmapImage();&lt;/P&gt;&lt;P&gt;bmi.SetSource(new MemoryStream(contentInBytes));&lt;/P&gt;&lt;P&gt;afterSymbol.Source = bmi;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;public class PictureMarkerSymbolJson&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string type { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string __type { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string imageData { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int width { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public double xoffset { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int height { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public double yoffset { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 03 Sep 2014 17:07:27 GMT</pubDate>
    <dc:creator>EddieJesinsky</dc:creator>
    <dc:date>2014-09-03T17:07:27Z</dc:date>
    <item>
      <title>PictureMarkerSymbol not deserialized properly</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/picturemarkersymbol-not-deserialized-properly/m-p/340357#M8769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I thought I would report this issue. It appears that the PictureMarkerSymbol is not deserialized properly when calling Symbol.FromJson() or Renderer.FromJson() where a PictureMarkerSymbol is used in the renderer. I always have to deserialize the Source separately and reset it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not Working:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol beforeSymbol = ...&lt;/P&gt;&lt;P&gt;string symbolJson = beforeSymbol.ToJson();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol afterSymbol = Symbol.FromJson(symbolJson); //image source corrupted, have to recreate, will not show up on map or esriPrimitives:SymbolDisplay properly&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Working:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol beforeSymbol = ...&lt;/P&gt;&lt;P&gt;string symbolJson = beforeSymbol.ToJson();&lt;/P&gt;&lt;P&gt;PictureMarkerSymbolJson symbolSerialized = JsonConvert.DeserializeObject&amp;lt;PictureMarkerSymbolJson&amp;gt;(symbolJson);&lt;/P&gt;&lt;P&gt;string imageData = symbolSerialized.imageData;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PictureMarkerSymbol afterSymbol = Symbol.FromJson(symbolJson);&lt;/P&gt;&lt;P&gt;imageData = imageData.Replace(" ", "+");&lt;/P&gt;&lt;P&gt;byte[] contentInBytes = Convert.FromBase64String(imageData);&lt;/P&gt;&lt;P&gt;BitmapImage bmi = new BitmapImage();&lt;/P&gt;&lt;P&gt;bmi.SetSource(new MemoryStream(contentInBytes));&lt;/P&gt;&lt;P&gt;afterSymbol.Source = bmi;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;public class PictureMarkerSymbolJson&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string type { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string __type { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string imageData { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int width { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public double xoffset { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int height { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public double yoffset { get; set; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Sep 2014 17:07:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/picturemarkersymbol-not-deserialized-properly/m-p/340357#M8769</guid>
      <dc:creator>EddieJesinsky</dc:creator>
      <dc:date>2014-09-03T17:07:27Z</dc:date>
    </item>
  </channel>
</rss>

