Browse Source

Do not register Tiff in the default config: The user must do this manually as long as this feature is considered experimental

pull/1570/head
Brian Popow 5 years ago
parent
commit
57b19f519e
  1. 7
      src/ImageSharp/Configuration.cs
  2. 2
      src/ImageSharp/Formats/Tiff/TiffDecoder.cs
  3. 2
      src/ImageSharp/Formats/Tiff/TiffEncoder.cs
  4. 4
      src/ImageSharp/Formats/Tiff/TiffEncoderCore.cs
  5. 2
      tests/ImageSharp.Tests/ConfigurationTests.cs
  6. 8
      tests/ImageSharp.Tests/Formats/Tiff/ImageExtensionsTest.cs
  7. 7
      tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs
  8. 8
      tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs

7
src/ImageSharp/Configuration.cs

@ -95,9 +95,9 @@ namespace SixLabors.ImageSharp
}
/// <summary>
/// Gets a set of properties for the Congiguration.
/// Gets a set of properties for the Configuration.
/// </summary>
/// <remarks>This can be used for storing global settings and defaults to be accessable to processors.</remarks>
/// <remarks>This can be used for storing global settings and defaults to be accessible to processors.</remarks>
public IDictionary<object, object> Properties { get; } = new ConcurrentDictionary<object, object>();
/// <summary>
@ -191,8 +191,7 @@ namespace SixLabors.ImageSharp
new JpegConfigurationModule(),
new GifConfigurationModule(),
new BmpConfigurationModule(),
new TgaConfigurationModule(),
new TiffConfigurationModule());
new TgaConfigurationModule());
}
}
}

2
src/ImageSharp/Formats/Tiff/TiffDecoder.cs

@ -9,7 +9,7 @@ using SixLabors.ImageSharp.PixelFormats;
namespace SixLabors.ImageSharp.Formats.Experimental.Tiff
{
/// <summary>
/// Image decoder for generating an image out of a TIFF stream.
/// EXPERIMENTAL! Image decoder for generating an image out of a TIFF stream.
/// </summary>
public class TiffDecoder : IImageDecoder, ITiffDecoderOptions, IImageInfoDetector
{

2
src/ImageSharp/Formats/Tiff/TiffEncoder.cs

@ -13,7 +13,7 @@ using SixLabors.ImageSharp.Processing.Processors.Quantization;
namespace SixLabors.ImageSharp.Formats.Experimental.Tiff
{
/// <summary>
/// Encoder for writing the data image to a stream in TIFF format.
/// EXPERIMENTAL! Encoder for writing the data image to a stream in TIFF format.
/// </summary>
public class TiffEncoder : IImageEncoder, ITiffEncoderOptions
{

4
src/ImageSharp/Formats/Tiff/TiffEncoderCore.cs

@ -308,13 +308,13 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Tiff
var xResolution = new ExifRational(ExifTagValue.XResolution)
{
// TODO: what to use here as a default?
// TODO: This field is required according to the spec, what to use here as a default?
Value = Rational.FromDouble(1.0d)
};
var yResolution = new ExifRational(ExifTagValue.YResolution)
{
// TODO: what to use here as a default?
// TODO: This field is required according to the spec, what to use here as a default?
Value = Rational.FromDouble(1.0d)
};

2
tests/ImageSharp.Tests/ConfigurationTests.cs

@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Tests
public Configuration DefaultConfiguration { get; }
private readonly int expectedDefaultConfigurationCount = 6;
private readonly int expectedDefaultConfigurationCount = 5;
public ConfigurationTests()
{

8
tests/ImageSharp.Tests/Formats/Tiff/ImageExtensionsTest.cs

@ -13,6 +13,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
[Trait("Format", "Tiff")]
public class ImageExtensionsTest
{
public ImageExtensionsTest()
{
Configuration.Default.ImageFormatsManager.AddImageFormat(TiffFormat.Instance);
Configuration.Default.ImageFormatsManager.AddImageFormatDetector(new TiffImageFormatDetector());
Configuration.Default.ImageFormatsManager.SetDecoder(TiffFormat.Instance, new TiffDecoder());
Configuration.Default.ImageFormatsManager.SetEncoder(TiffFormat.Instance, new TiffEncoder());
}
[Fact]
public void SaveAsTiff_Path()
{

7
tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs

@ -28,6 +28,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
private static MagickReferenceDecoder ReferenceDecoder => new MagickReferenceDecoder();
public TiffDecoderTests()
{
Configuration.Default.ImageFormatsManager.AddImageFormat(TiffFormat.Instance);
Configuration.Default.ImageFormatsManager.AddImageFormatDetector(new TiffImageFormatDetector());
Configuration.Default.ImageFormatsManager.SetDecoder(TiffFormat.Instance, new TiffDecoder());
}
[Theory]
[WithFileCollection(nameof(NotSupportedImages), PixelTypes.Rgba32)]
public void ThrowsNotSupported<TPixel>(TestImageProvider<TPixel> provider)

8
tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs

@ -29,6 +29,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
{ RgbUncompressed, TiffBitsPerPixel.Pixel24 },
};
public TiffEncoderTests()
{
Configuration.Default.ImageFormatsManager.AddImageFormat(TiffFormat.Instance);
Configuration.Default.ImageFormatsManager.AddImageFormatDetector(new TiffImageFormatDetector());
Configuration.Default.ImageFormatsManager.SetDecoder(TiffFormat.Instance, new TiffDecoder());
Configuration.Default.ImageFormatsManager.SetEncoder(TiffFormat.Instance, new TiffEncoder());
}
[Theory]
[InlineData(TiffEncodingMode.Default, TiffEncoderCompression.None, TiffBitsPerPixel.Pixel24, TiffCompression.None)]
[InlineData(TiffEncodingMode.Rgb, TiffEncoderCompression.None, TiffBitsPerPixel.Pixel24, TiffCompression.None)]

Loading…
Cancel
Save