ArcGIS Pro 2.8 API Reference Guide
GetMaterialTextureCompressionType Method
Example 

ArcGIS.Core.Geometry Namespace > Multipatch Class : GetMaterialTextureCompressionType Method
The index of the material. Must be greater than or equal to zero and less than MaterialCount. Get the index for a patch by calling GetPatchMaterialIndex.
Gets the compression type of the byte buffer for the texture of the specified material.
Syntax
public esriTextureCompressionType GetMaterialTextureCompressionType( 
   int materialIndex
)
Public Function GetMaterialTextureCompressionType( _
   ByVal materialIndex As Integer _
) As esriTextureCompressionType

Parameters

materialIndex
The index of the material. Must be greater than or equal to zero and less than MaterialCount. Get the index for a patch by calling GetPatchMaterialIndex.

Return Value

The esriTextureCompressionType of the byte buffer that is returned from GetMaterialTexture.
Exceptions
ExceptionDescription
The material index must be >= 0.
The material index must be less than the number of materials in the multipatch.
Remarks
If the compression type is esriTextureCompressionType.CompressionJPEG the buffer is a JPEG image. If the compression type is esriTextureCompressionType.CompressionNone the buffer is a pointer to a raw buffer containing image pixels starting from the top left corner in the row major order. The pixel size depends on the GetMaterialTextureBytesPerPixel value.
Example
// <summary>
// This method gets the material texture image of a multipatch.
// This method must be called on the MCT. Use QueuedTask.Run.
// </summary>
// <param name="multipatch">The input multipatch.</param>
// <param name="patchIndex">The index of the patch (part) for which to get the material texture.</param>
public void GetMultipatchTextureImage(Multipatch multipatch, int patchIndex)
{
  int materialIndex = multipatch.GetPatchMaterialIndex(patchIndex);
  if (!multipatch.IsMaterialTextured(materialIndex))
    return;

  esriTextureCompressionType compressionType = multipatch.GetMaterialTextureCompressionType(materialIndex);
  string ext = compressionType == esriTextureCompressionType.CompressionJPEG ? ".jpg" : ".dat";
  byte[] textureBuffer = multipatch.GetMaterialTexture(materialIndex);

  Stream imageStream = new MemoryStream(textureBuffer);
  System.Drawing.Image image = System.Drawing.Image.FromStream(imageStream);
  image.Save(@"C:\temp\myImage" + ext);
}
Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

Multipatch Class
Multipatch Members