/// <summary> /// 将图像放大或缩小 /// </summary> /// <param name="图像">源图像</param> /// <param name="指定宽度">指定的宽度,为0则保持原始值</param> /// <param name="指定高度">指定的高度,为0则保持原始值</param> /// <param name="缩放方式">缩放时采用的处理方式</param> /// <returns>缩放后的图像</returns> public static BitmapSource 缩放图像(this BitmapSource 图像, int 指定宽度, int 指定高度, 缩放方式 缩放方式) { var s = Drawing处理函数.计算缩放尺寸(缩放方式, 图像.PixelWidth, 图像.PixelHeight, 指定宽度, 指定高度); var img = 缩放图像(图像, s.Width, s.Height); if (缩放方式 == 缩放方式.强制裁剪) { var tw = 指定宽度 == 0 ? 图像.PixelWidth : 指定宽度; var th = 指定高度 == 0 ? 图像.PixelHeight : 指定高度; return(剪裁图像(img, img.PixelWidth / 2 - tw / 2, img.PixelHeight / 2 - th / 2, tw, th)); } return(img); }
public void 缩放图像Test1() { Image 图像 = Bitmap.FromFile(@"E:\下载\6db1a742jw1dhybtayuajj.jpg"); int 指定宽度 = 300; // TODO: 初始化为适当的值 int 指定高度 = 300; // TODO: 初始化为适当的值 缩放方式 缩放方式 = Core.Drawing.缩放方式.强制裁剪; Bitmap expected = null; // TODO: 初始化为适当的值 Bitmap actual; actual = Drawing处理函数.缩放图像(图像, 指定宽度, 指定高度, 缩放方式); //Assert.AreEqual(expected, actual); actual.Save("i:\\test.jpg", ImageFormat.Jpeg); //Assert.Inconclusive("验证此测试方法的正确性。"); }
public void 缩放图像Test() { Image 图像 = null; // TODO: 初始化为适当的值 int 指定宽度 = 0; // TODO: 初始化为适当的值 int 指定高度 = 0; // TODO: 初始化为适当的值 缩放方式 缩放方式 = new 缩放方式(); // TODO: 初始化为适当的值 InterpolationMode 插值算法 = new InterpolationMode(); // TODO: 初始化为适当的值 SmoothingMode 平滑模式 = new SmoothingMode(); // TODO: 初始化为适当的值 CompositingQuality 合成质量 = new CompositingQuality(); // TODO: 初始化为适当的值 Bitmap expected = null; // TODO: 初始化为适当的值 Bitmap actual; actual = Drawing处理函数.缩放图像(图像, 指定宽度, 指定高度, 缩放方式, 插值算法, 平滑模式, 合成质量); Assert.AreEqual(expected, actual); Assert.Inconclusive("验证此测试方法的正确性。"); }