public async Task TestCustomDownscalingAndDecodeEncodeResults() { var imageBytes = Convert.FromBase64String("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII="); using (var b = new ImageJob()) { var cmd = new DecodeCommands { JpegDownscaleHint = new Size(20, 20), JpegDownscalingMode = DecoderDownscalingMode.Fastest, DiscardColorProfile = true }; var r = await b.Decode(new BytesSource(imageBytes), 0, cmd) .Distort(30, 20, new ResampleHints().SetSharpen(50.0f, SharpenWhen.Always).SetResampleFilters(InterpolationFilter.Robidoux_Fast, InterpolationFilter.Cubic)) .ConstrainWithin(5, 5) .EncodeToBytes(new LodePngEncoder()).Finish().InProcessAsync(); Assert.Equal(5, r.First.Width); Assert.True(r.First.TryGetBytes().HasValue); Assert.Equal(r.DecodeResults.First().Width, 1); Assert.Equal(r.DecodeResults.First().Height, 1); Assert.Equal(r.DecodeResults.First().PreferredExtension, "png"); Assert.Equal(r.DecodeResults.First().PreferredMimeType, "image/png"); Assert.Equal(r.EncodeResults.First().Width, 5); Assert.Equal(r.EncodeResults.First().Height, 3); Assert.Equal(r.EncodeResults.First().PreferredExtension, "png"); Assert.Equal(r.EncodeResults.First().PreferredMimeType, "image/png"); } }
public async Task TestCustomDownscaling() { var imageBytes = Convert.FromBase64String("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII="); using (var b = new FluentBuildJob()) { var cmd = new DecodeCommands { DownscaleHint = new Size(20, 20), DownscalingMode = DecderDownscalingMode.Fastest, DiscardColorProfile = true }; var r = await b.Decode(new BytesSource(imageBytes), 0, cmd) .Distort(30, 20, 50.0f, InterpolationFilter.RobidouxFast, InterpolationFilter.Cubic) .ConstrainWithin(5, 5) .EncodeToBytes(new LibPngEncoder()).Finish().InProcessAsync(); Assert.Equal(5, r.First.Width); Assert.True(r.First.TryGetBytes().HasValue); } }