我需要调整图像的大小以显示在不同大小的不同页面上,同时保持原始图像的纵横比。
我可以以编程方式进行还是需要预加载不同尺寸的图像
我需要调整图像的大小以显示在不同大小的不同页面上,同时保持原始图像的纵横比。
我可以以编程方式进行还是需要预加载不同尺寸的图像
如果您只设置图像的宽度或高度,而未指定其他尺寸,浏览器将按比例缩放图像,同时保持其纵横比。
工作演示:http: //jsfiddle.net/jfriend00/NRLQ5/
如果您使用的是 Css3,则可以使用 transform:scale(scalefactor)
您可以使用System.Web.Helpers 程序集中的WebImage类。它提供了一个 Resize 方法,它允许您在保持纵横比不变的情况下调整大小
公共网络图像调整大小( 整数宽度, 整数高度, 布尔保留纵横比, 布尔防止放大 )
除此之外,您可以使用文件路径、流或字节数组创建 WebImage 实例并轻松添加水印。
WebImage image = new WebImage(Server.MapPath("~/upload/my_image.png")); WebImage image_small_1 = image.Resize(Convert.ToInt32(image.Width / 2), Convert.ToInt32(image.Height / 2), true, true);
您可以将图像保存到磁盘,或者如果您的环境允许它存储在缓存中
image_small_1.Save(Server.MapPath("~/upload/my_image_small_1.png"), "png", true); byte[] to_be_cached = image_small_1.GetBytes("png");