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); }