public void ScaleToFit_ScaledToSameAspectRatio_ScalesExactlyToMaxSize() { // arrange var original = new Size(8, 4); // aspect = 2.00 // act Size resized = original.ScaleToFit(new Size(4, 2)); // assert Assert.AreEqual(new Size(4, 2), resized); }
public void ScaleToFit_WithImageAlreadyFitting_ReturnsOriginalImage() { // arrange var original = new Size(8, 4); // aspect = 2.00 // act Size resized = original.ScaleToFit(new Size(12, 15)); // assert Assert.AreEqual(new Size(8, 4), resized); }
public void ScaleToFit_WithImageHavingAspectRatioLessThanOneScaledToAspectRatioGreaterThanOne_ScalesCorrectly() { // arrange var original = new Size(5, 7); // aspect = 0.71 var maxSize = new Size(4, 3); // aspect = 1.33 // act Size resized = original.ScaleToFit(maxSize); // assert Assert.AreEqual(new Size(2, 3), resized); // aspect = 0.67 }
public void ScaleToFit_WithRealisticImageSizes_ScalesProperly() { // arrange var original = new Size(1352, 879); // act Size resized = original.ScaleToFit(640, 480); // assert Assert.AreEqual(new Size(640, 416), resized); // aspect = 2 }
/// <summary> /// Saves two images. A normal image for the web site and then a thumbnail. /// </summary> /// <param name="image">Original image to process.</param> public static void MakeAlbumImages(Image image) { if(image == null) { throw new ArgumentNullException("image"); } // Indexed GIFs can cause issues. using(System.Drawing.Image originalImage = GraphicsHelper.FromFilePathAsUnindexedImage(image.OriginalFilePath)) { var originalSize = new Size(originalImage.Width, originalImage.Height); /// TODO: make new sizes configurations. // New Display Size Size displaySize = originalSize.ScaleToFit(Config.Settings.GalleryImageMaxWidth, Config.Settings.GalleryImageMaxHeight); image.Height = displaySize.Height; image.Width = displaySize.Width; using(System.Drawing.Image displayImage = originalImage.GetResizedImage(displaySize)) { displayImage.Save(image.ResizedFilePath, ImageFormat.Jpeg); } // smaller thumbnail Size thumbSize = originalSize.ScaleToFit(Config.Settings.GalleryImageThumbnailWidth, Config.Settings.GalleryImageThumbnailHeight); using(System.Drawing.Image thumbnailImage = originalImage.GetResizedImage(thumbSize)) { thumbnailImage.Save(image.ThumbNailFilePath, ImageFormat.Jpeg); } } }