public void BasicWithDownScaleReturnsDownScaledSize() { var info = new SharedImageInfo(); info.Filename = "images/camera.png"; var tools = new SkiaSharpBitmapTools(info, Logger); var dpiPath = new DpiPath("", 0.5m); tools.Resize(dpiPath, DestinationFilename); using var resultImage = SKBitmap.Decode(DestinationFilename); Assert.Equal(896, resultImage.Width); Assert.Equal(896, resultImage.Height); using var pixmap = resultImage.PeekPixels(); Assert.Equal(SKColors.Empty, pixmap.GetPixelColor(10, 10)); Assert.Equal(SKColors.White, pixmap.GetPixelColor(175, 175)); }
public void BasicNoScaleNoResizeReturnsOriginalSize() { var info = new SharedImageInfo(); info.Filename = "images/camera.png"; info.Resize = false; var tools = new SkiaSharpBitmapTools(info, Logger); var dpiPath = new DpiPath("", 1); tools.Resize(dpiPath, DestinationFilename); using var resultImage = SKBitmap.Decode(DestinationFilename); Assert.Equal(1792, resultImage.Width); Assert.Equal(1792, resultImage.Height); using var pixmap = resultImage.PeekPixels(); Assert.Equal(SKColors.Empty, pixmap.GetPixelColor(10, 10)); Assert.Equal(SKColors.White, pixmap.GetPixelColor(350, 350)); }
public void ColorizedWithNamedReturnsColored() { var info = new SharedImageInfo(); info.Filename = "images/camera.png"; info.TintColor = Color.FromName("Red"); var tools = new SkiaSharpBitmapTools(info, Logger); var dpiPath = new DpiPath("", 1); tools.Resize(dpiPath, DestinationFilename); using var resultImage = SKBitmap.Decode(DestinationFilename); Assert.Equal(1792, resultImage.Width); Assert.Equal(1792, resultImage.Height); using var pixmap = resultImage.PeekPixels(); Assert.Equal(SKColors.Empty, pixmap.GetPixelColor(10, 10)); Assert.Equal(SKColors.Red, pixmap.GetPixelColor(350, 350)); }
public void BasicWithColorsKeepsColors() { var info = new SharedImageInfo(); info.Filename = "images/camera_color.png"; var tools = new SkiaSharpBitmapTools(info, Logger); var dpiPath = new DpiPath("", 1); tools.Resize(dpiPath, DestinationFilename); using var resultImage = SKBitmap.Decode(DestinationFilename); Assert.Equal(256, resultImage.Width); Assert.Equal(256, resultImage.Height); using var pixmap = resultImage.PeekPixels(); Assert.Equal(SKColors.Empty, pixmap.GetPixelColor(10, 10)); Assert.Equal(SKColors.Red, pixmap.GetPixelColor(37, 137)); Assert.Equal(SKColors.Lime, pixmap.GetPixelColor(81, 137)); Assert.Equal(SKColors.Blue, pixmap.GetPixelColor(125, 137)); }
public void ColorizedWithAlphaWithColorsReplacesColors() { var info = new SharedImageInfo(); info.Filename = "images/camera_color.png"; info.TintColor = Color.FromArgb(127, Color.Red); var tools = new SkiaSharpBitmapTools(info, Logger); var dpiPath = new DpiPath("", 1); tools.Resize(dpiPath, DestinationFilename); using var resultImage = SKBitmap.Decode(DestinationFilename); Assert.Equal(256, resultImage.Width); Assert.Equal(256, resultImage.Height); using var pixmap = resultImage.PeekPixels(); Assert.Equal(SKColors.Empty, pixmap.GetPixelColor(10, 10)); Assert.Equal(SKColors.Red.WithAlpha(127), pixmap.GetPixelColor(37, 137)); Assert.Equal(SKColors.Red.WithAlpha(127), pixmap.GetPixelColor(81, 137)); Assert.Equal(SKColors.Red.WithAlpha(127), pixmap.GetPixelColor(125, 137)); }
public void WithBaseSizeResizes() { var info = new SharedImageInfo(); info.Filename = "images/camera_color.png"; info.BaseSize = new Size(512, 512); var tools = new SkiaSharpBitmapTools(info, Logger); var dpiPath = new DpiPath("", 1); tools.Resize(dpiPath, DestinationFilename); using var resultImage = SKBitmap.Decode(DestinationFilename); Assert.Equal(512, resultImage.Width); Assert.Equal(512, resultImage.Height); using var pixmap = resultImage.PeekPixels(); Assert.Equal(SKColors.Empty, pixmap.GetPixelColor(10, 10)); Assert.Equal(SKColors.Red, pixmap.GetPixelColor(74, 274)); Assert.Equal(SKColors.Lime, pixmap.GetPixelColor(162, 274)); Assert.Equal(SKColors.Blue, pixmap.GetPixelColor(250, 274)); }