0

我需要调整图像的大小以显示在不同大小的不同页面上,同时保持原始图像的纵横比。

我可以以编程方式进行还是需要预加载不同尺寸的图像

4

3 回答 3

3

如果您只设置图像的宽度或高度,而未指定其他尺寸,浏览器将按比例缩放图像,同时保持其纵横比。

工作演示:http: //jsfiddle.net/jfriend00/NRLQ5/

于 2012-07-04T18:16:51.960 回答
0

如果您使用的是 Css3,则可以使用 transform:scale(scalefactor)

于 2012-07-04T18:15:31.093 回答
0

您可以使用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");
于 2012-07-04T19:29:12.603 回答