diff --git a/src/ImageSharp/Formats/Tiff/README.md b/src/ImageSharp/Formats/Tiff/README.md index 32c2b1d400..565ecb6cd8 100644 --- a/src/ImageSharp/Formats/Tiff/README.md +++ b/src/ImageSharp/Formats/Tiff/README.md @@ -79,19 +79,19 @@ |CellWidth | | | | |CellLength | | | | |FillOrder | | - | Ignore. In practice is very uncommon, and is not recommended. | -|ImageDescription | | Y | | -|Make | | Y | | -|Model | | Y | | +|ImageDescription | Y | Y | | +|Make | Y | Y | | +|Model | Y | Y | | |StripOffsets | Y | Y | | |Orientation | | - | Ignore. Many readers ignore this tag. | |SamplesPerPixel | Y | - | Currently ignored, as can be inferred from count of BitsPerSample | -|RowsPerStrip | | Y | | +|RowsPerStrip | Y | Y | | |StripByteCounts | Y | Y | | |MinSampleValue | | | | |MaxSampleValue | | | | |XResolution | Y | Y | | |YResolution | Y | Y | | -|PlanarConfiguration | | Y | | +|PlanarConfiguration | | Y | Encoding support only chunky. | |FreeOffsets | | | | |FreeByteCounts | | | | |GrayResponseUnit | | | | @@ -110,7 +110,7 @@ | |Encoder|Decoder|Comments | |---------------------------|:-----:|:-----:|--------------------------| |NewSubfileType | | | | -|DocumentName | | | | +|DocumentName | Y | Y | | |PageName | | | | |XPosition | | | | |YPosition | | | | @@ -166,7 +166,7 @@ |YCbCrSubSampling | | | | |YCbCrPositioning | | | | |ReferenceBlackWhite | | | | -|StripRowCounts | | - | | +|StripRowCounts | - | - | See RFC 2301 (File Format for Internet Fax). | |XMP | Y | Y | | |ImageID | | | | |ImageLayer | | | | diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs index 2c632b36e4..123b8494eb 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs @@ -50,6 +50,11 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Tiff } } + if (entries.ExifProfile.GetValue(ExifTag.StripRowCounts) != null) + { + TiffThrowHelper.ThrowNotSupported("Variable-sized strips are not supported."); + } + options.PlanarConfiguration = entries.PlanarConfiguration; options.Predictor = entries.Predictor; options.PhotometricInterpretation = entries.PhotometricInterpretation;