Ejemplo n.º 1
0
        public void SubsetEncodesSubset(float xRatio, float yRatio, float wRatio, float hRatio)
        {
            var path = Path.Combine(PathToImages, "baboon.jpg");

            using var image = SKImage.FromEncodedData(path);
            var width  = image.Width;
            var height = image.Height;

            var rect   = new SKRectI(0, 0, width, height);
            var subset = image;

            if (xRatio != 0 || yRatio != 0 || wRatio != 0 || hRatio != 0)
            {
                var floatingRect = new SKRect(width * xRatio, height * yRatio, width * wRatio, height * hRatio);
                rect   = SKRectI.Floor(floatingRect);
                subset = image.Subset(rect);
            }

            using var encoded = subset.Encode();
            using var img2    = SKImage.FromEncodedData(encoded);

            Assert.Equal(rect.Width, img2.Width);
            Assert.Equal(rect.Height, img2.Height);

            var subsetPixels = GetPixels(subset);
            var img2Pixels   = GetPixels(img2);

            Assert.Equal(subsetPixels, img2Pixels);
Ejemplo n.º 2
0
 public void SKRectIFloorWorksAsExpected()
 {
     Assert.Equal(new SKRectI(5, 5, 20, 20), SKRectI.Floor(new SKRect(5.5f, 5.5f, 20.5f, 20.5f)));
     Assert.Equal(new SKRectI(6, 6, 20, 20), SKRectI.Floor(new SKRect(5.5f, 5.5f, 20.5f, 20.5f), true));
     Assert.Equal(new SKRectI(5, 5, 20, 20), SKRectI.Floor(new SKRect(5.4f, 5.6f, 20.4f, 20.6f)));
     Assert.Equal(new SKRectI(6, 6, 20, 20), SKRectI.Floor(new SKRect(5.4f, 5.6f, 20.4f, 20.6f), true));
     Assert.Equal(new SKRectI(20, 20, 5, 5), SKRectI.Floor(new SKRect(20.4f, 20.6f, 5.4f, 5.6f)));
     Assert.Equal(new SKRectI(20, 20, 6, 6), SKRectI.Floor(new SKRect(20.4f, 20.6f, 5.4f, 5.6f), true));
 }