From 7df7d0dbec9cbfb598d9814a107b865789d1e27c Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sat, 18 Dec 2021 17:05:43 +0300 Subject: [PATCH] add TiffFormatType enum --- .../Tiff/TiffDecoderMetadataCreator.cs | 2 +- src/ImageSharp/Formats/Tiff/TiffFormatType.cs | 21 +++++++++++++++++++ src/ImageSharp/Formats/Tiff/TiffMetadata.cs | 7 ++----- .../Formats/Tiff/BigTiffDecoderTests.cs | 5 +++-- 4 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 src/ImageSharp/Formats/Tiff/TiffFormatType.cs diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs index ddaf6fa96c..4c4023acee 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs +++ b/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; } diff --git a/src/ImageSharp/Formats/Tiff/TiffFormatType.cs b/src/ImageSharp/Formats/Tiff/TiffFormatType.cs new file mode 100644 index 0000000000..320386e4c8 --- /dev/null +++ b/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 +{ + /// + /// The TIFF format type enum. + /// + public enum TiffFormatType + { + /// + /// The TIFF file format type. + /// + Default, + + /// + /// The BigTIFF format type. + /// + BigTIFF + } +} diff --git a/src/ImageSharp/Formats/Tiff/TiffMetadata.cs b/src/ImageSharp/Formats/Tiff/TiffMetadata.cs index d537981dbe..f5124a78ae 100644 --- a/src/ImageSharp/Formats/Tiff/TiffMetadata.cs +++ b/src/ImageSharp/Formats/Tiff/TiffMetadata.cs @@ -27,12 +27,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff public ByteOrder ByteOrder { get; set; } /// - /// Gets or sets a value indicating whether this instance is BigTiff format. + /// Gets or sets the format type. /// - /// - /// true if this instance BigTiff format; otherwise, false. - /// - public bool IsBigTiff { get; set; } + public TiffFormatType FormatType { get; set; } /// public IDeepCloneable DeepClone() => new TiffMetadata(this); diff --git a/tests/ImageSharp.Tests/Formats/Tiff/BigTiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/BigTiffDecoderTests.cs index 24fce1d0d6..7a02c91b8b 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/BigTiffDecoderTests.cs +++ b/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); } }