<?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: Exception thrown while saving multi-patch textures in ArcGISPro SDK in ArcGIS Pro SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/exception-thrown-while-saving-multi-patch-textures/m-p/787807#M1326</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bill,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A couple of suggestions - check the byte buffer length - maybe it is 0.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also is the textureMap a JPEGTexture or an UncompressedTexture?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Narelle&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 14 May 2020 22:46:45 GMT</pubDate>
    <dc:creator>NarelleChedzey</dc:creator>
    <dc:date>2020-05-14T22:46:45Z</dc:date>
    <item>
      <title>Exception thrown while saving multi-patch textures in ArcGISPro SDK</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/exception-thrown-while-saving-multi-patch-textures/m-p/787806#M1325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am seeing an occasional error while trying to save out textures for multi-patch features.&amp;nbsp; It will throw an exception of "Parameter is not valid." when creating an Image from a MemoryStream.&amp;nbsp; It works for about 70% of the textures, but some fail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code snippet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var patches = builder.Patches;&lt;/P&gt;&lt;P&gt;for (int x = 0; x &amp;lt; patches.Count; ++x) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;TextureResource texture = null;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;BasicMaterial bm = patches&lt;X&gt;.Material as BasicMaterial;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EsriMultipatchMaterial material = new EsriMultipatchMaterial();&lt;/X&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;material.material_index = -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (multipatch.HasMaterials) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;material.material_index = multipatch.GetPatchMaterialIndex(x);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (bm != null) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;texture = bm.TextureResource;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (texture != null &amp;amp;&amp;amp; material.material_index &amp;gt;= 0) {&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (m_texture_dir == null || m_texture_dir.Length == 0) continue;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;material.type = see_multipatch_material_type.SEE_TXR_FILE&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; string file_name = string.Format("text_{0}_{1}_{2}.jpg",&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; layer_name, object_id, material.material_index.ToString("D5"));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;material.txr_file_name = file_name;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string file_path = m_texture_dir + "\\" + file_name;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!File.Exists(file_path)) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Get the pixel data and save the file.&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Retrieve the texture pixels and save to JPEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;BR /&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;TextureMap txr_map = texture.Texture as TextureMap; //&amp;nbsp;&lt;BR /&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;byte[] img_buffer = txr_map.Buffer;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MemoryStream stream = new MemoryStream(img_buffer);&lt;BR /&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;Image image = Image.FromStream(stream);&amp;nbsp;&lt;STRONG&gt; ( Exception: Parameter is not valid)&lt;/STRONG&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ImageFormat format = ImageFormat.Jpeg;&lt;BR /&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;image.Save(file_path, format);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image.Dispose();&lt;BR /&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;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;..... etc. ....&lt;/P&gt;&lt;P&gt;}}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;-Bill&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 May 2020 15:43:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/exception-thrown-while-saving-multi-patch-textures/m-p/787806#M1325</guid>
      <dc:creator>BillSmith</dc:creator>
      <dc:date>2020-05-13T15:43:21Z</dc:date>
    </item>
    <item>
      <title>Re: Exception thrown while saving multi-patch textures in ArcGISPro SDK</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/exception-thrown-while-saving-multi-patch-textures/m-p/787807#M1326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bill,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A couple of suggestions - check the byte buffer length - maybe it is 0.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also is the textureMap a JPEGTexture or an UncompressedTexture?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Narelle&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 May 2020 22:46:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/exception-thrown-while-saving-multi-patch-textures/m-p/787807#M1326</guid>
      <dc:creator>NarelleChedzey</dc:creator>
      <dc:date>2020-05-14T22:46:45Z</dc:date>
    </item>
  </channel>
</rss>

