Browse Source

Added grayscale app14 support, build fix

pull/2177/head
Dmitry Pentin 4 years ago
parent
commit
95273d35b6
  1. 5
      src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs
  2. 2
      src/ImageSharp/Formats/Tiff/Compression/Decompressors/TiffJpegSpectralConverter{TPixel}.cs
  3. 1
      tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Internal.cs

5
src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs

@ -510,6 +510,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg
/// <returns>The <see cref="JpegColorSpace"/></returns>
internal static JpegColorSpace DeduceJpegColorSpace(byte componentCount, ref AdobeMarker adobeMarker)
{
if (componentCount == 1)
{
return JpegColorSpace.Grayscale;
}
if (componentCount == 3)
{
if (adobeMarker.ColorTransform == JpegConstants.Adobe.ColorTransformUnknown)

2
src/ImageSharp/Formats/Tiff/Compression/Decompressors/TiffJpegSpectralConverter{TPixel}.cs

@ -1,5 +1,5 @@
// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
// Licensed under the Six Labors Split License.
using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder;
using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.ColorConverters;

1
tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Internal.cs

@ -25,6 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
public partial class JpegDecoderTests
{
[Theory]
[InlineData(1, 0, JpegColorSpace.Grayscale)]
[InlineData(3, JpegConstants.Adobe.ColorTransformUnknown, JpegColorSpace.RGB)]
[InlineData(3, JpegConstants.Adobe.ColorTransformYCbCr, JpegColorSpace.YCbCr)]
[InlineData(4, JpegConstants.Adobe.ColorTransformUnknown, JpegColorSpace.Cmyk)]

Loading…
Cancel
Save