Esempio n. 1
0
        protected void AddOption(ImgProxyOption option)
        {
            switch (option)
            {
            case null:
                throw new ArgumentNullException(nameof(option));

            case FormatOption formatOption:
                FormatOption = formatOption;
                break;

            default:
                Options[option.GetType().Name] = option;
                break;
            }
        }
        public void BuildEncodedWithOptions()
        {
            ImgProxyBuilder.Instance = ImgProxyBuilder.New
                                       .WithEndpoint(Host)
                                       .WithCredentials(Key, Salt)
                                       .WithResize(Resize, Width, Height, Enlarge);

            var additionalOptions = new ImgProxyOption[]
            {
                new GravityOption(Gravity),
                new FormatOption(Formats.JPG)
            };

            var url = ImgProxyBuilder.Instance.Build(Url, additionalOptions, encode: true);

            Assert.Equal("https://cdn.example.com/H07AJg_xNzix5IB1pG9zd8WQ4_Ykld5mF0FxQaM1yrM/resize:fill:300:400:0:0/gravity:sm/aHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvcnUvMi8yNC9MZW5uYS5wbmc.jpg", url);
        }
        public void BuildWithOptions()
        {
            ImgProxyBuilder.Instance = ImgProxyBuilder.New
                                       .WithEndpoint(Host)
                                       .WithCredentials(Key, Salt)
                                       .WithResize(Resize, Width, Height, Enlarge);

            var additionalOptions = new ImgProxyOption[]
            {
                new GravityOption(Gravity),
                new FormatOption(Formats.JPG)
            };

            var url = ImgProxyBuilder.Instance.Build(Url, additionalOptions, encode: false);

            Assert.Equal("https://cdn.example.com/8oHkICIOkLKR1pWj6_qZFtccJSTUbb3o--MqLhHk9sw/resize:fill:300:400:0:0/gravity:sm/plain/https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png@jpg", url);
        }