Meziantou.Framework.SnapshotTesting.ImageSharp
1.0.0
Prefix Reserved
See the version list below for details.
dotnet add package Meziantou.Framework.SnapshotTesting.ImageSharp --version 1.0.0
NuGet\Install-Package Meziantou.Framework.SnapshotTesting.ImageSharp -Version 1.0.0
<PackageReference Include="Meziantou.Framework.SnapshotTesting.ImageSharp" Version="1.0.0" />
<PackageVersion Include="Meziantou.Framework.SnapshotTesting.ImageSharp" Version="1.0.0" />
<PackageReference Include="Meziantou.Framework.SnapshotTesting.ImageSharp" />
paket add Meziantou.Framework.SnapshotTesting.ImageSharp --version 1.0.0
#r "nuget: Meziantou.Framework.SnapshotTesting.ImageSharp, 1.0.0"
#:package Meziantou.Framework.SnapshotTesting.ImageSharp@1.0.0
#addin nuget:?package=Meziantou.Framework.SnapshotTesting.ImageSharp&version=1.0.0
#tool nuget:?package=Meziantou.Framework.SnapshotTesting.ImageSharp&version=1.0.0
Meziantou.Framework.SnapshotTesting.ImageSharp
Meziantou.Framework.SnapshotTesting.ImageSharp extends Meziantou.Framework.SnapshotTesting with support for SixLabors.ImageSharp images, enabling snapshot validation of Image objects stored as PNG, JPEG, BMP, TIFF, or WebP files.
Setup
Call AddImageSharp() on your SnapshotSettings to register the ImageSharp serializer and comparer:
public sealed class SampleTests
{
[Fact]
public void ValidateImage()
{
SnapshotSettings.Default.AddImageSharp();
using var image = Image.Load("sample.png");
Snapshot.Validate(image, SnapshotType.Png);
}
}
Image comparison
By default, images are compared pixel-by-pixel (exact comparison). To allow minor rendering differences, configure a Structural Similarity Index (SSIM) threshold:
SnapshotSettings.Default.AddImageSharp(new ImageComparisonSettings
{
SimilarityThreshold = 0.99f, // 0.0 = completely different, 1.0 = identical
});
When SimilarityThreshold is set, the mean SSIM across the R, G, and B channels is computed and must be greater than or equal to the threshold for the images to be considered equal.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Meziantou.Framework.SnapshotTesting (>= 1.0.0)
- SixLabors.ImageSharp (>= 3.1.12)
- System.Numerics.Tensors (>= 10.0.6)
-
net8.0
- Meziantou.Framework.SnapshotTesting (>= 1.0.0)
- SixLabors.ImageSharp (>= 3.1.12)
- System.Numerics.Tensors (>= 10.0.6)
-
net9.0
- Meziantou.Framework.SnapshotTesting (>= 1.0.0)
- SixLabors.ImageSharp (>= 3.1.12)
- System.Numerics.Tensors (>= 10.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.