Ejemplo n.º 1
0
 public IList <byte> DistinctColors(int?subImageId)
 {
     if (subImageId == null)
     {
         var buffer = new ReadOnlyByteImageBuffer(Width, Height, Width, TextureData);
         return(CoreUtil.DistinctColors(buffer));
     }
     else
     {
         GetSubImageOffset(subImageId.Value, out var width, out var height, out var offset, out var stride);
         ReadOnlySpan <byte> slice = TextureData.Slice(
             offset,
             width + (height - 1) * stride);
         var buffer = new ReadOnlyByteImageBuffer((uint)width, (uint)height, (uint)stride, slice);
         return(CoreUtil.DistinctColors(buffer));
     }
 }