PictureSharp.Tiff
0.7.0
See the version list below for details.
dotnet add package PictureSharp.Tiff --version 0.7.0
NuGet\Install-Package PictureSharp.Tiff -Version 0.7.0
<PackageReference Include="PictureSharp.Tiff" Version="0.7.0" />
<PackageVersion Include="PictureSharp.Tiff" Version="0.7.0" />
<PackageReference Include="PictureSharp.Tiff" />
paket add PictureSharp.Tiff --version 0.7.0
#r "nuget: PictureSharp.Tiff, 0.7.0"
#:package PictureSharp.Tiff@0.7.0
#addin nuget:?package=PictureSharp.Tiff&version=0.7.0
#tool nuget:?package=PictureSharp.Tiff&version=0.7.0
PictureSharp.Tiff
TIFF and BigTIFF for PictureSharp, in pure C# with no native dependencies. Requires .NET 10+ and PictureSharp 0.7.10+.
dotnet add package PictureSharp.Tiff
Usage
Register the format once, then load and save .tif files like any other image:
using PictureSharp;
using PictureSharp.Formats.Tiff;
ImageConfiguration.Default = ImageConfiguration.Default.ToBuilder().AddFormat(new TiffFormat()).Build();
using var image = Image.Load("scan.tif");
image.Mutate(x => x.Resize(1600, 0));
image.SaveAsTiff("small.tif");
Loading reads the first page and keeps ICC, EXIF and XMP. Saving uses lossless LZW and writes each frame as a page. Other pages, JPEG compression and tiles are covered in the guides below.
Support
- Read: strips and tiles; none, PackBits, LZW, Deflate, JPEG, WebP and CCITT fax; grey, palette, RGB, CMYK, YCbCr and CIE Lab*, with or without alpha; integer samples of 1 to 16 and 32 bits (also signed), float of 16, 32 and 64 bits.
- Write: 8-bit grey, RGB, palette and black and white, with or without alpha; the same compressions (CCITT Group 4 only).
- Metadata: ICC, XMP, EXIF/GPS, orientation and resolution, also edited in place.
- Not supported: old-style JPEG, JBIG, LZMA, Zstandard, ICC and ITU Lab*; writing 16-bit, CMYK or planar data.
Pixels match libtiff 4.5.1 and Pillow 10.2.0.
Status: ready for use and tested against libtiff and Pillow, but before 1.0 the API may still change and some real-world files may still fail; please report them with the file attached. Tested on linux-x64.
Guides: decoding · encoding · metadata · release notes
License
MIT. Ported sources (libtiff, Pillow conversion rules) are listed in THIRD-PARTY-NOTICES.txt.
Build
dotnet build -c Release
dotnet test -c Release
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- PictureSharp (>= 0.7.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
0.7.0: checked against 420 real-world TIFF files; reads more of what libtiff reads (strip arrays as libtiff reads them, predictor 2 for floating point, palette with alpha, Group 4 palettes), YCbCr tags as libtiff reads them, EditMetadata fixes for IFD loops and truncated files; earlier files decode unchanged. Requires PictureSharp 0.7.10. Notes: https://github.com/art-ix/PictureSharp.Tiff/blob/v0.7.0/docs/releases/release-0.7.0.md