public void DecodeProgressiveJpeg_Orig <TPixel>(TestImageProvider <TPixel> provider) where TPixel : struct, IPixel <TPixel> { if (TestEnvironment.RunsOnCI && !TestEnvironment.Is64BitProcess) { // skipping to avoid OutOfMemoryException on CI return; } // Golang decoder is unable to decode these: if (PdfJsOnly.Any(fn => fn.Contains(provider.SourceFileOrDescription))) { return; } // For 32 bit test enviroments: provider.Configuration.MemoryManager = ArrayPoolMemoryManager.CreateWithModeratePooling(); using (Image <TPixel> image = provider.GetImage(GolangJpegDecoder)) { image.DebugSave(provider); provider.Utility.TestName = DecodeProgressiveJpegOutputName; image.CompareToReferenceOutput( this.GetImageComparer(provider), provider, appendPixelTypeToFileName: false); } provider.Configuration.MemoryManager.ReleaseRetainedResources(); }
public void QuantizeImageShouldPreserveMaximumColorPrecision <TPixel>(TestImageProvider <TPixel> provider, string quantizerName) where TPixel : struct, IPixel <TPixel> { provider.Configuration.MemoryManager = ArrayPoolMemoryManager.CreateWithModeratePooling(); IQuantizer quantizer = GetQuantizer(quantizerName); using (Image <TPixel> image = provider.GetImage()) { image.Mutate(c => c.Quantize(quantizer)); image.DebugSave(provider, new PngEncoder() { PngColorType = PngColorType.Palette }, testOutputDetails: quantizerName); } provider.Configuration.MemoryManager.ReleaseRetainedResources(); //string path = TestEnvironment.CreateOutputDirectory("Quantize"); //foreach (TestFile file in Files) //{ // using (Image<Rgba32> srcImage = Image.Load<Rgba32>(file.Bytes, out IImageFormat mimeType)) // { // using (Image<Rgba32> image = srcImage.Clone()) // { // using (FileStream output = File.OpenWrite($"{path}/Octree-{file.FileName}")) // { // image.Mutate(x => x.Quantize(KnownQuantizers.Octree)); // image.Save(output, mimeType); // } // } // using (Image<Rgba32> image = srcImage.Clone()) // { // using (FileStream output = File.OpenWrite($"{path}/Wu-{file.FileName}")) // { // image.Mutate(x => x.Quantize(KnownQuantizers.Wu)); // image.Save(output, mimeType); // } // } // using (Image<Rgba32> image = srcImage.Clone()) // { // using (FileStream output = File.OpenWrite($"{path}/Palette-{file.FileName}")) // { // image.Mutate(x => x.Quantize(KnownQuantizers.Palette)); // image.Save(output, mimeType); // } // } // } //} }
public void JpegDecoder_IsNotBoundToSinglePixelType <TPixel>(TestImageProvider <TPixel> provider, bool useOldDecoder) where TPixel : struct, IPixel <TPixel> { if (SkipTest(provider)) { return; } // For 32 bit test enviroments: provider.Configuration.MemoryManager = ArrayPoolMemoryManager.CreateWithModeratePooling(); IImageDecoder decoder = useOldDecoder ? (IImageDecoder)GolangJpegDecoder : PdfJsJpegDecoder; using (Image <TPixel> image = provider.GetImage(decoder)) { image.DebugSave(provider); provider.Utility.TestName = DecodeBaselineJpegOutputName; image.CompareToReferenceOutput(ImageComparer.Tolerant(BaselineTolerance), provider, appendPixelTypeToFileName: false); } provider.Configuration.MemoryManager.ReleaseRetainedResources(); }
public void DecodeBaselineJpeg_Orig <TPixel>(TestImageProvider <TPixel> provider) where TPixel : struct, IPixel <TPixel> { if (SkipTest(provider)) { return; } // For 32 bit test enviroments: provider.Configuration.MemoryManager = ArrayPoolMemoryManager.CreateWithModeratePooling(); using (Image <TPixel> image = provider.GetImage(OrigJpegDecoder)) { image.DebugSave(provider); provider.Utility.TestName = DecodeBaselineJpegOutputName; image.CompareToReferenceOutput( this.GetImageComparer(provider), provider, appendPixelTypeToFileName: false); } provider.Configuration.MemoryManager.ReleaseRetainedResources(); }