Browse Source

add TiffFormatType enum

pull/1760/head
Ildar Khayrutdinov 4 years ago
parent
commit
7df7d0dbec
  1. 2
      src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs
  2. 21
      src/ImageSharp/Formats/Tiff/TiffFormatType.cs
  3. 7
      src/ImageSharp/Formats/Tiff/TiffMetadata.cs
  4. 5
      tests/ImageSharp.Tests/Formats/Tiff/BigTiffDecoderTests.cs

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

@ -57,7 +57,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff
TiffMetadata tiffMetadata = imageMetaData.GetTiffMetadata();
tiffMetadata.ByteOrder = byteOrder;
tiffMetadata.IsBigTiff = isBigTiff;
tiffMetadata.FormatType = isBigTiff ? TiffFormatType.BigTIFF : TiffFormatType.Default;
return imageMetaData;
}

21
src/ImageSharp/Formats/Tiff/TiffFormatType.cs

@ -0,0 +1,21 @@
// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Formats.Tiff
{
/// <summary>
/// The TIFF format type enum.
/// </summary>
public enum TiffFormatType
{
/// <summary>
/// The TIFF file format type.
/// </summary>
Default,
/// <summary>
/// The BigTIFF format type.
/// </summary>
BigTIFF
}
}

7
src/ImageSharp/Formats/Tiff/TiffMetadata.cs

@ -27,12 +27,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff
public ByteOrder ByteOrder { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is BigTiff format.
/// Gets or sets the format type.
/// </summary>
/// <value>
/// <c>true</c> if this instance BigTiff format; otherwise, <c>false</c>.
/// </value>
public bool IsBigTiff { get; set; }
public TiffFormatType FormatType { get; set; }
/// <inheritdoc/>
public IDeepCloneable DeepClone() => new TiffMetadata(this);

5
tests/ImageSharp.Tests/Formats/Tiff/BigTiffDecoderTests.cs

@ -5,6 +5,7 @@
using System;
using System.IO;
using System.Linq;
using SixLabors.ImageSharp.Formats.Tiff;
using SixLabors.ImageSharp.Metadata;
using SixLabors.ImageSharp.Metadata.Profiles.Exif;
using SixLabors.ImageSharp.PixelFormats;
@ -80,9 +81,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff
Assert.Equal(expectedVResolution, info.Metadata.VerticalResolution);
Assert.Equal(expectedResolutionUnit, info.Metadata.ResolutionUnits);
ImageSharp.Formats.Tiff.TiffMetadata tiffmeta = info.Metadata.GetTiffMetadata();
TiffMetadata tiffmeta = info.Metadata.GetTiffMetadata();
Assert.NotNull(tiffmeta);
Assert.True(tiffmeta.IsBigTiff);
Assert.Equal(TiffFormatType.BigTIFF, tiffmeta.FormatType);
}
}

Loading…
Cancel
Save