public void MagickDecode_8BitDepthImage_IsEquivalentTo_SystemDrawingResult <TPixel>(TestImageProvider <TPixel> dummyProvider, string testImage) where TPixel : struct, IPixel <TPixel> { string path = TestFile.GetInputFileFullPath(testImage); var magickDecoder = new MagickReferenceDecoder(); var sdDecoder = new SystemDrawingReferenceDecoder(); ImageComparer comparer = ImageComparer.Exact; using (var mImage = Image.Load <TPixel>(path, magickDecoder)) using (var sdImage = Image.Load <TPixel>(path, sdDecoder)) { ImageSimilarityReport <TPixel, TPixel> report = comparer.CompareImagesOrFrames(mImage, sdImage); mImage.DebugSave(dummyProvider); if (TestEnvironment.IsWindows) { Assert.True(report.IsEmpty); } } }
public void MagickDecode_16BitDepthImage_IsApproximatelyEquivalentTo_SystemDrawingResult <TPixel>(TestImageProvider <TPixel> dummyProvider, string testImage) where TPixel : struct, IPixel <TPixel> { string path = TestFile.GetInputFileFullPath(testImage); var magickDecoder = new MagickReferenceDecoder(); var sdDecoder = new SystemDrawingReferenceDecoder(); // 1020 == 4 * 255 (Equivalent to manhattan distance of 1+1+1+1=4 in Rgba32 space) var comparer = ImageComparer.TolerantPercentage(1, 1020); using (var mImage = Image.Load <TPixel>(path, magickDecoder)) using (var sdImage = Image.Load <TPixel>(path, sdDecoder)) { ImageSimilarityReport <TPixel, TPixel> report = comparer.CompareImagesOrFrames(mImage, sdImage); mImage.DebugSave(dummyProvider); if (TestEnvironment.IsWindows) { Assert.True(report.IsEmpty); } } }