|
|
@ -35,16 +35,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
{ |
|
|
{ |
|
|
var meta = new TiffMetadata |
|
|
var meta = new TiffMetadata |
|
|
{ |
|
|
{ |
|
|
BitsPerPixel = TiffBitsPerPixel.Bit8, |
|
|
|
|
|
ByteOrder = ByteOrder.BigEndian, |
|
|
ByteOrder = ByteOrder.BigEndian, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
var clone = (TiffMetadata)meta.DeepClone(); |
|
|
var clone = (TiffMetadata)meta.DeepClone(); |
|
|
|
|
|
|
|
|
clone.BitsPerPixel = TiffBitsPerPixel.Bit24; |
|
|
|
|
|
clone.ByteOrder = ByteOrder.LittleEndian; |
|
|
clone.ByteOrder = ByteOrder.LittleEndian; |
|
|
|
|
|
|
|
|
Assert.False(meta.BitsPerPixel == clone.BitsPerPixel); |
|
|
|
|
|
Assert.False(meta.ByteOrder == clone.ByteOrder); |
|
|
Assert.False(meta.ByteOrder == clone.ByteOrder); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -71,10 +68,10 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
[Theory] |
|
|
[Theory] |
|
|
[InlineData(Calliphora_BiColorUncompressed, TiffBitsPerPixel.Bit1)] |
|
|
[InlineData(Calliphora_BiColorUncompressed, 1)] |
|
|
[InlineData(GrayscaleUncompressed, TiffBitsPerPixel.Bit8)] |
|
|
[InlineData(GrayscaleUncompressed, 8)] |
|
|
[InlineData(RgbUncompressed, TiffBitsPerPixel.Bit24)] |
|
|
[InlineData(RgbUncompressed, 24)] |
|
|
public void Identify_DetectsCorrectBitPerPixel(string imagePath, TiffBitsPerPixel expectedBitsPerPixel) |
|
|
public void Identify_DetectsCorrectBitPerPixel(string imagePath, int expectedBitsPerPixel) |
|
|
{ |
|
|
{ |
|
|
var testFile = TestFile.Create(imagePath); |
|
|
var testFile = TestFile.Create(imagePath); |
|
|
using var stream = new MemoryStream(testFile.Bytes, false); |
|
|
using var stream = new MemoryStream(testFile.Bytes, false); |
|
|
@ -84,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
Assert.NotNull(imageInfo); |
|
|
Assert.NotNull(imageInfo); |
|
|
TiffMetadata tiffMetadata = imageInfo.Metadata.GetTiffMetadata(); |
|
|
TiffMetadata tiffMetadata = imageInfo.Metadata.GetTiffMetadata(); |
|
|
Assert.NotNull(tiffMetadata); |
|
|
Assert.NotNull(tiffMetadata); |
|
|
Assert.Equal(expectedBitsPerPixel, tiffMetadata.BitsPerPixel); |
|
|
Assert.Equal(expectedBitsPerPixel, imageInfo.PixelType.BitsPerPixel); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
[Theory] |
|
|
[Theory] |
|
|
@ -178,7 +175,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
TiffMetadata tiffMetaData = image.Metadata.GetTiffMetadata(); |
|
|
TiffMetadata tiffMetaData = image.Metadata.GetTiffMetadata(); |
|
|
Assert.NotNull(tiffMetaData); |
|
|
Assert.NotNull(tiffMetaData); |
|
|
Assert.Equal(ByteOrder.LittleEndian, tiffMetaData.ByteOrder); |
|
|
Assert.Equal(ByteOrder.LittleEndian, tiffMetaData.ByteOrder); |
|
|
Assert.Equal(TiffBitsPerPixel.Bit4, tiffMetaData.BitsPerPixel); |
|
|
|
|
|
|
|
|
var frameMetaData = new TiffFrameMetadata(exifProfile); |
|
|
|
|
|
Assert.Equal(TiffBitsPerPixel.Bit4, frameMetaData.BitsPerPixel); |
|
|
|
|
|
|
|
|
var tiffFrameMetadata = new TiffFrameMetadata(exifProfile); |
|
|
var tiffFrameMetadata = new TiffFrameMetadata(exifProfile); |
|
|
VerifyExpectedTiffFrameMetaDataIsPresent(tiffFrameMetadata); |
|
|
VerifyExpectedTiffFrameMetaDataIsPresent(tiffFrameMetadata); |
|
|
@ -250,7 +249,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
ExifProfile rootFrameExifProfileInput = rootFrameInput.Metadata.ExifProfile; |
|
|
ExifProfile rootFrameExifProfileInput = rootFrameInput.Metadata.ExifProfile; |
|
|
|
|
|
|
|
|
Assert.Equal(TiffCompression.Lzw, frameMetaInput.Compression); |
|
|
Assert.Equal(TiffCompression.Lzw, frameMetaInput.Compression); |
|
|
Assert.Equal(TiffBitsPerPixel.Bit4, tiffMetaInput.BitsPerPixel); |
|
|
Assert.Equal(TiffBitsPerPixel.Bit4, frameMetaInput.BitsPerPixel); |
|
|
|
|
|
|
|
|
// Save to Tiff
|
|
|
// Save to Tiff
|
|
|
var tiffEncoder = new TiffEncoder() { Mode = TiffEncodingMode.Rgb }; |
|
|
var tiffEncoder = new TiffEncoder() { Mode = TiffEncodingMode.Rgb }; |
|
|
@ -268,7 +267,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
ExifProfile encodedImageExifProfile = rootFrameEncodedImage.Metadata.ExifProfile; |
|
|
ExifProfile encodedImageExifProfile = rootFrameEncodedImage.Metadata.ExifProfile; |
|
|
byte[] encodedImageXmpProfile = rootFrameEncodedImage.Metadata.XmpProfile; |
|
|
byte[] encodedImageXmpProfile = rootFrameEncodedImage.Metadata.XmpProfile; |
|
|
|
|
|
|
|
|
Assert.Equal(TiffBitsPerPixel.Bit24, tiffMetaDataEncodedImage.BitsPerPixel); |
|
|
Assert.Equal(TiffBitsPerPixel.Bit24, tiffMetaDataEncodedRootFrame.BitsPerPixel); |
|
|
Assert.Equal(TiffCompression.None, tiffMetaDataEncodedRootFrame.Compression); |
|
|
Assert.Equal(TiffCompression.None, tiffMetaDataEncodedRootFrame.Compression); |
|
|
|
|
|
|
|
|
Assert.Equal(inputMetaData.HorizontalResolution, encodedImageMetaData.HorizontalResolution); |
|
|
Assert.Equal(inputMetaData.HorizontalResolution, encodedImageMetaData.HorizontalResolution); |
|
|
|