|
|
|
@ -190,9 +190,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
|
[Theory] |
|
|
|
[WithFile(Rgba3BitAssociatedAlpha, PixelTypes.Rgba32)] |
|
|
|
public void TiffDecoder_CanDecode_12Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
if (TestEnvironment.IsOSX) |
|
|
|
{ |
|
|
|
// Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though.
|
|
|
|
using Image<TPixel> image = provider.GetImage(TiffDecoder); |
|
|
|
image.DebugSave(provider); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues.
|
|
|
|
where TPixel : unmanaged, IPixel<TPixel> => TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(Flower14BitGray, PixelTypes.Rgba32)] |
|
|
|
@ -237,8 +247,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
|
[WithFile(Rgba5BitAssociatedAlpha, PixelTypes.Rgba32)] |
|
|
|
public void TiffDecoder_CanDecode_20Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
|
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
if (TestEnvironment.IsOSX) |
|
|
|
{ |
|
|
|
// Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though.
|
|
|
|
using Image<TPixel> image = provider.GetImage(TiffDecoder); |
|
|
|
image.DebugSave(provider); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues.
|
|
|
|
where TPixel : unmanaged, IPixel<TPixel> => TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(FlowerRgb888Contiguous, PixelTypes.Rgba32)] |
|
|
|
@ -252,10 +273,20 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(Rgba6BitAssociatedAlpha, PixelTypes.Rgba32)] |
|
|
|
public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
if (TestEnvironment.IsOSX) |
|
|
|
{ |
|
|
|
// Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though.
|
|
|
|
using Image<TPixel> image = provider.GetImage(TiffDecoder); |
|
|
|
image.DebugSave(provider); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues.
|
|
|
|
where TPixel : unmanaged, IPixel<TPixel> => TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(Flower24BitGray, PixelTypes.Rgba32)] |
|
|
|
@ -320,9 +351,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
|
[Theory] |
|
|
|
[WithFile(Rgba8BitAssociatedAlpha, PixelTypes.Rgba32)] |
|
|
|
public void TiffDecoder_CanDecode_32Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
if (TestEnvironment.IsOSX) |
|
|
|
{ |
|
|
|
// Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though.
|
|
|
|
using Image<TPixel> image = provider.GetImage(TiffDecoder); |
|
|
|
image.DebugSave(provider); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues.
|
|
|
|
where TPixel : unmanaged, IPixel<TPixel> => TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(Flower32BitGrayPredictorBigEndian, PixelTypes.Rgba32)] |
|
|
|
@ -350,7 +391,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
|
[WithFile(Rgba10BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] |
|
|
|
[WithFile(Rgba10BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] |
|
|
|
public void TiffDecoder_CanDecode_40Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> => TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
if (TestEnvironment.IsOSX) |
|
|
|
{ |
|
|
|
// Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though.
|
|
|
|
using Image<TPixel> image = provider.GetImage(TiffDecoder); |
|
|
|
image.DebugSave(provider); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues.
|
|
|
|
TestTiffDecoder(provider, useExactComparer: false); |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(FlowerRgb141414Contiguous, PixelTypes.Rgba32)] |
|
|
|
@ -377,7 +430,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
|
[WithFile(Rgba12BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] |
|
|
|
[WithFile(Rgba12BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] |
|
|
|
public void TiffDecoder_CanDecode_48Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> => TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
if (TestEnvironment.IsOSX) |
|
|
|
{ |
|
|
|
// Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though.
|
|
|
|
using Image<TPixel> image = provider.GetImage(TiffDecoder); |
|
|
|
image.DebugSave(provider); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues.
|
|
|
|
TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(FlowerRgb161616PredictorBigEndian, PixelTypes.Rgba32)] |
|
|
|
@ -395,7 +460,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff |
|
|
|
[WithFile(Rgba14BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] |
|
|
|
[WithFile(Rgba14BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] |
|
|
|
public void TiffDecoder_CanDecode_56Bit_WithAssociatedAlpha<TPixel>(TestImageProvider<TPixel> provider) |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> => TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
if (TestEnvironment.IsOSX) |
|
|
|
{ |
|
|
|
// Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though.
|
|
|
|
using Image<TPixel> image = provider.GetImage(TiffDecoder); |
|
|
|
image.DebugSave(provider); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues.
|
|
|
|
TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[WithFile(FlowerRgb242424Contiguous, PixelTypes.Rgba32)] |
|
|
|
|