【问题标题】:Resize image on the fly and keep aspect ratio [closed]动态调整图像大小并保持纵横比[关闭]
【发布时间】:2012-07-05 05:35:48
【问题描述】:

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

我可以通过编程方式完成还是需要预加载不同尺寸的图像

【问题讨论】:

    标签: javascript .net image image-processing


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        您可以使用 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-11-15
          • 2013-06-26
          • 2012-04-15
          • 2019-08-10
          • 2012-05-01
          相关资源
          最近更新 更多