Exemple #1
0
        public void ThumborNonFluentTest()
        {
            var thumbor = new Thumbor("http://localhost/");

            var watermarkImage = thumbor.BuildImage("https://localhost/watermark.png");

            watermarkImage.HorizontalFlip(true);
            watermarkImage.VerticalFlip(true);
            var watermark = watermarkImage.ToFullUrl();

            var resizedUrlImage = thumbor.BuildImage("https://localhost/image.jpg");

            resizedUrlImage.Trim(Thumbor.ImageTrimOption.TopLeft);
            resizedUrlImage.Resize(200, 400);
            resizedUrlImage.Grayscale(true);
            resizedUrlImage.Fill("blue");
            resizedUrlImage.Quality(100);
            resizedUrlImage.Watermark(watermark, 0, 10, 50);
            resizedUrlImage.Smart(true);
            resizedUrlImage.FitIn(true);
            resizedUrlImage.HorizontalAlign(Thumbor.ImageHorizontalAlign.Left);
            resizedUrlImage.VerticalAlign(Thumbor.ImageVerticalAlign.Bottom);
            resizedUrlImage.Format(Thumbor.ImageFormat.Webp);

            var resizedUrl = resizedUrlImage.ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/trim/fit-in/200x400/left/bottom/smart/filters:grayscale():fill(blue):quality(100):format(webp):watermark(http://localhost/unsafe/-0x-0/https://localhost/watermark.png,0,10,50)/https://localhost/image.jpg");
        }
Exemple #2
0
        public void ThumborMultiTest()
        {
            var thumbor = new Thumbor("http://localhost/");

            var watermark = thumbor.BuildImage("https://localhost/watermark.png")
                            .HorizontalFlip(true)
                            .VerticalFlip(true)
                            .ToFullUrl();

            var resizedUrl = thumbor.BuildImage("https://localhost/image.jpg")
                             .Trim(Thumbor.ImageTrimOption.TopLeft)
                             .Resize(200, 400)
                             .Smart(true)
                             .FitIn(true)
                             .HorizontalAlign(Thumbor.ImageHorizontalAlign.Left)
                             .VerticalAlign(Thumbor.ImageVerticalAlign.Bottom)
                             .Blur(1, 2)
                             .Brightness(50)
                             .Colorize(1, 2, 3, "AAAAAA")
                             .Contrast(50)
                             .Convolution(new List <int> {
                1, 2, 1
            }, 3, false)
                             .Curve(new List <Tuple <int, int> > {
                Tuple.Create(1, 2)
            }, new List <Tuple <int, int> > {
                Tuple.Create(3, 4)
            }, new List <Tuple <int, int> > {
                Tuple.Create(5, 6)
            }, new List <Tuple <int, int> > {
                Tuple.Create(7, 8)
            })
                             .Equalize(true)
                             .ExtractFocal()
                             .Fill("blue")
                             .Format(Thumbor.ImageFormat.Webp)
                             .GifV(Thumbor.ImageGifVOption.Webm)
                             .Grayscale(true)
                             .MaxBytes(100000)
                             .Noise(50)
                             .NoUpscale(true)
                             .Quality(100)
                             .Rgb(1, 2, 3)
                             .Rotate(90)
                             .RoundCorners(10, 20, 1, 2, 3)
                             .Saturation(1.7)
                             .Sharpen(5.0, 1.2, true)
                             .StripIcc(true)
                             .Watermark(watermark, 0, 10, 50)
                             .ToFullUrl();

            // Verified as a value URL when used against internal thumbor server
            resizedUrl.Should().Be("http://localhost/unsafe/trim/fit-in/200x400/left/bottom/smart/filters:blur(1,2):brightness(50):colorize(1,2,3,AAAAAA):contrast(50):convolution(1;2;1,3,false):curve([(1,2)],[(3,4)],[(5,6)],[(7,8)]):equalize():extract_focal():fill(blue):format(webp):gifv(webm):grayscale():max_bytes(100000):noise(50):no_upscale():quality(100):rgb(1,2,3):rotate(90):round_corners(10|20,1,2,3):saturation(1.7):sharpen(5,1.2,true):strip_icc():watermark(http://localhost/unsafe/-0x-0/https://localhost/watermark.png,0,10,50)/https://localhost/image.jpg");
        }
Exemple #3
0
        public void ThumborWatermarkUsingThumbor()
        {
            var thumbor = new Thumbor("http://localhost/");

            var watermark = thumbor.BuildImage("http://localhost/watermark.png").ToFullUrl();

            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Watermark(watermark, 0, 0, 50)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/filters:watermark(http://localhost/unsafe/http://localhost/watermark.png,0,0,50)/http://localhost/image.jpg");
        }
Exemple #4
0
        public void ThumborSignedUrl()
        {
            var thumbor    = new Thumbor("http://localhost/", "sample_key");
            var resizedUrl = thumbor.BuildImage("https://localhost/image.jpg").ToFullUrl();

            resizedUrl.Should().Be("http://localhost/_fak0PqFdoaKkMQpbxPE0ql8dtY=/https://localhost/image.jpg");
        }
Exemple #5
0
        public void ThumborBuildUrlToUrlReturnsCorrectUrl()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .ToUrl();

            resizedUrl.Should().Be("unsafe/http://localhost/image.jpg");
        }
Exemple #6
0
        public void ThumborGrayscale()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Grayscale(true)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:grayscale()/http://localhost/image.jpg"));
        }
Exemple #7
0
        public void ThumborNoResizingWithZero()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Resize(0, 0)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/0x0/http://localhost/image.jpg");
        }
Exemple #8
0
        public void ThumborVerticalAlign(Thumbor.ImageVerticalAlign align)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .VerticalAlign(align)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/{0}/http://localhost/image.jpg", align.ToString().ToLower()));
        }
Exemple #9
0
        public void ThumborVerticalAlignMiddle()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .VerticalAlign(Thumbor.ImageVerticalAlign.Middle)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/http://localhost/image.jpg");
        }
Exemple #10
0
        public void ThumborSaturationFilter(double imageSaturation)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Saturation(imageSaturation)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:saturation({0})/http://localhost/image.jpg", imageSaturation));
        }
Exemple #11
0
        public void ThumborFilling(string fillColour)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Fill(fillColour)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:fill({0})/http://localhost/image.jpg", fillColour));
        }
Exemple #12
0
        public void ThumborResize()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Resize(20, 30)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/20x30/http://localhost/image.jpg");
        }
Exemple #13
0
        public void ThumborResizeWidthOnly()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Resize(10, null)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/10x0/http://localhost/image.jpg");
        }
Exemple #14
0
        public void ThumborNotSmart()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Smart(false)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/http://localhost/image.jpg");
        }
Exemple #15
0
        public void ThumborCrop()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Crop(0, 10, 50, 100)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/0x10:50x100/http://localhost/image.jpg");
        }
Exemple #16
0
        public void ThumborBrightnessFilter(int brightness)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Brightness(brightness)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:brightness({0})/http://localhost/image.jpg", brightness.ToString(CultureInfo.InvariantCulture)));
        }
Exemple #17
0
        public void ThumborRotateFilter(int imageRotateAngle)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Rotate(imageRotateAngle)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:rotate({0})/http://localhost/image.jpg", imageRotateAngle));
        }
Exemple #18
0
        public void ThumborRgbFilter(int red, int green, int blue)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Rgb(red, green, blue)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:rgb({0},{1},{2})/http://localhost/image.jpg", red, green, blue));
        }
Exemple #19
0
        public void ThumborGifVConvertToWebm()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .GifV(Thumbor.ImageGifVOption.Webm)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:gifv(webm)/http://localhost/image.jpg"));
        }
Exemple #20
0
        public void ThumborContrastFilter(int contrast)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Contrast(contrast)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:contrast({0})/http://localhost/image.jpg", contrast.ToString(CultureInfo.InvariantCulture)));
        }
Exemple #21
0
        public void ThumborGifV()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .GifV(Thumbor.ImageGifVOption.None)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/filters:gifv()/http://localhost/image.jpg");
        }
Exemple #22
0
        public void ThumborRoundCornersFilter()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .RoundCorners(10, 20, 1, 2, 3)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/filters:round_corners(10|20,1,2,3)/http://localhost/image.jpg");
        }
Exemple #23
0
        public void ThumborResizeHeightOnly()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Resize(null, 10)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/0x10/http://localhost/image.jpg");
        }
Exemple #24
0
        public void ThumborNotStripIcc()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .StripIcc(false)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/http://localhost/image.jpg"));
        }
Exemple #25
0
        public void ThumborResizeWidthNegativeZeroFlip()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Resize(-0, -0)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/0x0/http://localhost/image.jpg");
        }
Exemple #26
0
        public void ThumborTrimBottomRight()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Trim(Thumbor.ImageTrimOption.BottomRight)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/trim:bottom-right/http://localhost/image.jpg"));
        }
Exemple #27
0
        public void ThumborQuality(int quality)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .Quality(quality)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/filters:quality({0})/http://localhost/image.jpg", quality.ToString(CultureInfo.InvariantCulture)));
        }
Exemple #28
0
        public void ThumborFullFitIn(bool fullFitIn)
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .FullFitIn(fullFitIn)
                             .ToFullUrl();

            resizedUrl.Should().Be(string.Format("http://localhost/unsafe/{0}http://localhost/image.jpg", fullFitIn ? "full-fit-in/" : string.Empty));
        }
Exemple #29
0
        public void ThumborRoundCornersFilterWithRadiusB()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .RoundCorners(10, null, 100, 50, 0)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/filters:round_corners(10,100,50,0)/http://localhost/image.jpg");
        }
Exemple #30
0
        public void ThumborHorizontalAlignCenter()
        {
            var thumbor    = new Thumbor("http://localhost/");
            var resizedUrl = thumbor.BuildImage("http://localhost/image.jpg")
                             .HorizontalAlign(Thumbor.ImageHorizontalAlign.Center)
                             .ToFullUrl();

            resizedUrl.Should().Be("http://localhost/unsafe/http://localhost/image.jpg");
        }