Browse Source

Only assign when the relevant detail is there.

pull/2215/head
James Jackson-South 4 years ago
parent
commit
e69658ea73
  1. 6
      src/ImageSharp/Formats/Png/PngDecoderCore.cs

6
src/ImageSharp/Formats/Png/PngDecoderCore.cs

@ -187,7 +187,6 @@ namespace SixLabors.ImageSharp.Formats.Png
chunk.Data.GetSpan().CopyTo(alpha); chunk.Data.GetSpan().CopyTo(alpha);
this.paletteAlpha = alpha; this.paletteAlpha = alpha;
this.AssignTransparentMarkers(alpha, pngMetadata); this.AssignTransparentMarkers(alpha, pngMetadata);
pngMetadata.HasTransparency = true;
break; break;
case PngChunkType.Text: case PngChunkType.Text:
this.ReadTextChunk(metadata, pngMetadata, chunk.Data.GetSpan()); this.ReadTextChunk(metadata, pngMetadata, chunk.Data.GetSpan());
@ -295,7 +294,6 @@ namespace SixLabors.ImageSharp.Formats.Png
chunk.Data.GetSpan().CopyTo(alpha); chunk.Data.GetSpan().CopyTo(alpha);
this.paletteAlpha = alpha; this.paletteAlpha = alpha;
this.AssignTransparentMarkers(alpha, pngMetadata); this.AssignTransparentMarkers(alpha, pngMetadata);
pngMetadata.HasTransparency = true;
if (this.colorMetadataOnly) if (this.colorMetadataOnly)
{ {
@ -974,6 +972,10 @@ namespace SixLabors.ImageSharp.Formats.Png
pngMetadata.HasTransparency = true; pngMetadata.HasTransparency = true;
} }
} }
else if (this.pngColorType == PngColorType.Palette && alpha.Length > 0)
{
pngMetadata.HasTransparency = true;
}
} }
/// <summary> /// <summary>

Loading…
Cancel
Save