public string GetUrl(int width, int height, bool fill, DynamicImageFormat format) { Composition image = new Composition(); image.ImageFormat = format; ImageLayer imageLayer = new ImageLayer(); ZeusImageSource source = new ZeusImageSource(); source.ContentID = ID; imageLayer.Source = source; ResizeFilter resizeFilter = new ResizeFilter(); resizeFilter.Mode = fill ? ResizeMode.UniformFill : ResizeMode.Uniform; resizeFilter.Width = Unit.Pixel(width); resizeFilter.Height = Unit.Pixel(height); imageLayer.Filters.Add(resizeFilter); image.Layers.Add(imageLayer); return ImageUrlGenerator.GetImageUrl(image); /*old code replaced * return new DynamicImageBuilder() .WithLayer( LayerBuilder.Image.SourceImage(this).WithFilter(FilterBuilder.Resize.To(width, height, fill))) .Url; */ }
public void ResizeFilter_UseHeightResizeMode_CalculatedCorrectly() { FastBitmap bitmap = new FastBitmap("Filters\\Images\\Tulips.png", UriKind.Relative); ResizeFilter resizeFilter = new ResizeFilter(); resizeFilter.Mode = ResizeMode.UseHeight; resizeFilter.Height = Unit.Pixel(200); resizeFilter.ApplyFilter(bitmap); Assert.AreEqual(300, bitmap.Width); Assert.AreEqual(200, bitmap.Height); }
public void ResizeFilter_UniformResizeModeWithDominantHeight_CalculatedCorrectly() { FastBitmap bitmap = new FastBitmap("Filters\\Images\\Tulips.png", UriKind.Relative); ResizeFilter resizeFilter = new ResizeFilter(); resizeFilter.Mode = ResizeMode.Uniform; resizeFilter.Width = Unit.Pixel(200); resizeFilter.Height = Unit.Pixel(100); resizeFilter.ApplyFilter(bitmap); Assert.AreEqual(150, bitmap.Width); Assert.AreEqual(100, bitmap.Height); }
public void ResizeFilterInUseHeightModeCalculatesDimensionsCorrectly() { // Arrange. var bitmap = new FastBitmap(@"Resources\Tulips.png", UriKind.Relative); var resizeFilter = new ResizeFilter { Mode = ResizeMode.UseHeight, Height = Unit.Pixel(200) }; // Act. resizeFilter.ApplyFilter(bitmap); // Assert. Assert.AreEqual(300, bitmap.Width); Assert.AreEqual(200, bitmap.Height); }
public void ResizeFilterInUniformModeWithDominantWidthCalculatesDimensionsCorrectly() { // Arrange. var bitmap = new FastBitmap(@"Resources\Tulips.png", UriKind.Relative); var resizeFilter = new ResizeFilter { Mode = ResizeMode.Uniform, Width = Unit.Pixel(200), Height = Unit.Pixel(200) }; // Act. resizeFilter.ApplyFilter(null, bitmap); // Assert. Assert.AreEqual(200, bitmap.Width); Assert.AreEqual(133, bitmap.Height); }
public string GetUrl(int width, int height, bool fill, DynamicImageFormat format, bool isResize) { //first construct the crop var imageSource = new ZeusImageSource(); imageSource.ContentID = this.ID; if (this.Data == null) return ""; // generate resized image url // set image format var dynamicImage = new SoundInTheory.DynamicImage.Composition(); dynamicImage.ImageFormat = format; // create image layer wit ha source var imageLayer = new ImageLayer(); imageLayer.Source = imageSource; // add filters if (!(TopLeftXVal == 0 && TopLeftYVal == 0 && CropWidth == 0 && CropHeight == 0)) { var cropFilter = new CropFilter { Enabled = true, X = this.TopLeftXVal, Y = this.TopLeftYVal, Width = this.CropWidth, Height = this.CropHeight }; if (!isResize) imageLayer.Filters.Add(cropFilter); } if (width > 0 && height > 0) { var resizeFilter = new ResizeFilter { Mode = isResize ? ResizeMode.Uniform : ResizeMode.UniformFill, Width = SoundInTheory.DynamicImage.Unit.Pixel(width), Height = SoundInTheory.DynamicImage.Unit.Pixel(height) }; imageLayer.Filters.Add(resizeFilter); } else if (width > 0) { var resizeFilter = new ResizeFilter { Mode = ResizeMode.UseWidth, Width = SoundInTheory.DynamicImage.Unit.Pixel(width) }; imageLayer.Filters.Add(resizeFilter); } else if (height > 0) { var resizeFilter = new ResizeFilter { Mode = ResizeMode.UseHeight, Height = SoundInTheory.DynamicImage.Unit.Pixel(height) }; imageLayer.Filters.Add(resizeFilter); } // add the layer dynamicImage.Layers.Add(imageLayer); // generate url return ImageUrlGenerator.GetImageUrl(dynamicImage); }