PictureSharp.Tiff
0.7.3
See the version list below for details.
dotnet add package PictureSharp.Tiff --version 0.7.3
NuGet\Install-Package PictureSharp.Tiff -Version 0.7.3
<PackageReference Include="PictureSharp.Tiff" Version="0.7.3" />
<PackageVersion Include="PictureSharp.Tiff" Version="0.7.3" />
<PackageReference Include="PictureSharp.Tiff" />
paket add PictureSharp.Tiff --version 0.7.3
#r "nuget: PictureSharp.Tiff, 0.7.3"
#:package PictureSharp.Tiff@0.7.3
#addin nuget:?package=PictureSharp.Tiff&version=0.7.3
#tool nuget:?package=PictureSharp.Tiff&version=0.7.3
PictureSharp.Tiff
TIFF and BigTIFF for PictureSharp, in pure C# with no native dependencies. Requires .NET 10+ and PictureSharp 0.8.5+.
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, CCITT fax, NeXT and ThunderScan; 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 except NeXT and ThunderScan (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 and ARM64), Windows and macOS.
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.8.5)
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.2: fixes from coverage-guided fuzzing: a crafted WebP strip could crash the process through endless recursion; Image.EditMetadata no longer changes pixels or pages of damaged files; earlier files decode unchanged. Requires PictureSharp 0.7.10. Notes: https://github.com/art-ix/PictureSharp.Tiff/blob/v0.7.2/docs/releases/release-0.7.2.md