web 网页按比例显示图片 js
来源:互联网 发布:手机淘宝怎么投诉盗图 编辑:程序博客网 时间:2024/06/04 19:51
原文链接:http://blog.csdn.net/liqinghuiyx/article/details/5442349
在动态站点上经常需要上传自己的图片,而这些图片的大小是未知的,在显示成缩略图的时候必须进行按比例的缩放才能美观地显示。以最近做的golf网站(http://www.changligolfsales.com)做例子。
该网站需要上传高尔夫产品图片,并以缩略图显示在列表上,站点服务器支持Asp,但不支持aspjpeg之类的生成缩略图组件,所以将上传的图片直接显示成缩略图,就需要按比例缩放了,前提是要获取图片的长宽,第一个想到的方法是在上传的时候通过ADODB.STREAM对象读取图片的长宽信息保存在数据库并在页面生成的时候读取出来计算比例。这个方法明显的缺点是显示每张图片都要在服务器读取数据并计算,消耗资源多了也加上了页面打开时延。
而第二个方法使用Javascript是将计算量转移到了客户端。
原理是在页面载入完成后(onload触发)在客户端使用Javascript读取每张图片的大小并进行缩放。
- //将imageDest图片的大小按比例缩放,适合显示在宽W和高H的区域内
- function ResizeImage(imageDest, W, H)
- {
- //显示框宽度W,高度H
- var image = new Image();
- image.src = imageDest.src;
- if(image.width>0 && image.height>0)
- {
- //比较纵横比
- if(image.width/image.height >= W/H)//相对显示框:宽>高
- {
- if(image.width > W) //宽度大于显示框宽度W,应压缩高度
- {
- imageDest.width = W;
- imageDest.height = (image.height*W)/image.width;
- }
- else //宽度少于或等于显示框宽度W,图片完全显示
- {
- imageDest.width = image.width;
- imageDest.height = image.height;
- }
- }
- else//同理
- {
- if(image.height > H)
- {
- imageDest.height = H;
- imageDest.width = (image.width*H)/image.height;
- }
- else
- {
- imageDest.width = image.width;
- imageDest.height = image.height;
- }
- }
- }
- }
以上函数对图片进行缩放。
golf网站的每张缩略图的id都设为imgProductItem,如:<img src="<%= imgPath %>" name="imgProductItem" width="150" height="113" border="0" id="imgProductItem" />,里面的150x113就是显示框的最大尺寸,因为处理函数必须在onload完成时运行,所以这里必须设置一定的大小,要不整个页面在载入图片过程中出现排版错乱,到运行了RsizeAllImageById才恢复正常。
添加一个批量操作的函数:
- //将页面内所有指定id的图片按比例缩放
- function RsizeAllImageById(id, W, H)
- {
- var imgs = document.getElementsByTagName("img");
- for(var i=0; i<imgs.length; i++)
- {
- if(imgs[i].id == id)
- {
- ResizeImage(imgs[i], W, H);
- }
- }
- }
这样在页面的body添加
- <body onload="javascript:init();">;在head区添加:
- <mce:script language="javascript"><!--
- function init()
- {
- RsizeAllImageById("imgProductItem", 150, 113);
- }
- // --></mce:script>
就可以将所有图片显示成缩略图了。
- web 网页按比例显示图片 js
- web 网页按比例显示图片 js
- 图片按比例显示
- 图片按比例显示
- 如何按比例显示图片
- JS按比例缩放图片
- js按比例缩放图片
- js按比例缩小图片
- js按比例缩放图片
- JS图片按比例加载
- 最新javascript自动按比例显示图片,按比例压缩图片显示
- 最新javascript自动按比例显示图片,按比例压缩图片显示
- 页面图片显示(按比例缩放
- 让图片按比例缩放显示
- 将图片按比例缩小显示
- Android jsoup 按比例显示图片
- js 图片高度按比例缩放
- JS 图片按比例缩小
- 我的HR管理原则是“红色的”
- 写给C语言初学者的话
- 链式二叉树的创建及遍历
- 记一个有想法没能力实现的产品形态——实时公交
- 大型高并发高负载网站的系统架构
- web 网页按比例显示图片 js
- 【程序员的自我修养】第1章 温故而知新
- 创建进程,调用Rscript运行相关算法[基于本公司的底层,可以修改,完全去掉依赖这个底层]
- 软件测试容易遗漏的地方
- linux书籍推荐(6本)
- Ubuntu12.10硬盘安装
- java nio学习笔记1
- request和response学习
- VPN介绍--虚拟网络