BorderJ's Blog

          --- java FreeBsd Web3D open-sources

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            8 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks
          通過js等比擴大圖片的比例
          ?
          在做web開發的時候,顯示圖片是經常用到。在默認的情況下圖片是擴充,但是有的時候顯示效果會不如人意。有時容器的大小是固定的,我們要把圖片等比擴大。
          下面通過js來簡單的實現圖片等比擴大。
          ?
          var?imgObj?=?new?Image();?//?圖片對象
          imgObj.src?=?"d:\linuxborder.jpg"?;?????//?圖片地址

          imgwidth?=?imgObj.width;????//?圖片寬
          imgheight?=?imgObj.height;???//?圖片高
          ?
          document.all("myimg").width?=?imgwidth?*?rate;????????//改變圖片寬

          document.all("myimg").height?=?imgheight?*?rate;???????//改變圖片高

          ?
          ?“myimg”是<img name="myimg">中的name
          ?
          事例代碼:
          ?
          ?1?<html>
          ?2?<head>
          ?3?
          ?4?<meta?http-equiv="Content-Type"?content="text/html;?charset=GB2312">
          ?5?</head>
          ?6?<body?onload?=?changesize()>
          ?7?<center>?images:
          ?8?
          ?9????????<table?border="1"?width="445"?height="140"?bordercolor="#FF6600"?cellSpacing=0?cellPadding=0>
          10?
          11?????????<HR?style="border:1?dashed?green"?width="100%"?SIZE=4>
          12?????????<tr>
          13?
          14???????????<td>
          15?
          16?????????????<p?align="center">??????
          17?
          18???????????????<img?name="myimg"?src="d:\linuxborder.jpg"?width="440"?height="140"></p>
          19?
          20???????????</td>
          21?????????</tr>
          22?
          23???????</table>
          24?</center>
          25?</body>
          26?
          27?<script?language="javascript"?type="text/javascript">
          28?function?changesize(){
          29?????????var?imgwidth;
          30?????????var?imgheight;
          31?????????var?imgObj?=?new?Image();?//?圖片對象
          32?????????var?tempwidth;
          33?????????var?tempheight;
          34?
          35?????????var?rate;?????//?擴大率
          36?????????
          37?
          38?????????imgObj.src?=?"d:\linuxborder.jpg"?;?//?圖片地址
          39?????????imgwidth?=?imgObj.width;???//?圖片寬
          40?????????imgheight?=?imgObj.height;??????//?圖片高
          41?????????
          42?????????tempwidth?=?440?-?imgwidth;
          43?????????tempheight?=?140?-?imgheight;
          44?????????if(tempwidth?<?tempheight)?{
          45?
          46??????????????rate?=?440?/?imgwidth?;?
          47?????????}?else?{
          48?
          49??????????????rate?=?140?/?imgheight;
          50?????????}
          51?????????
          52?
          53?????????document.all("myimg").width?=?imgwidth?*?rate;?????????????//改變圖片寬
          54?
          55?????????document.all("myimg").height?=?imgheight?*?rate;?????//改變圖片高
          56?}????
          57??
          58?</script>
          59?</html>
          60?

          ? BY: Border
          ?borderj#gmail.com
          http://www.aygfsteel.com/border
          posted on 2006-07-03 12:13 BorderJ 閱讀(2078) 評論(3)  編輯  收藏 所屬分類: Java

          評論

          # re: 通過js等比擴大圖片的比例 2006-07-03 17:10 johnson duan
          好像不用這么復雜吧,在img的那里根據容器的大小要求,只設定weight或者height就應該可以得到這樣的效果了。  回復  更多評論
            

          # re: 通過js等比擴大圖片的比例 2006-07-03 18:02 Border's Blog
          一般是按照你所說的進行處理,img是拉伸到容器中的。
          但是在當圖片過寬或過高時,顯示的效果就會不好。
          現在我想要的效果是, 當 img的weight 達到容器的weight, 而height還可以再向外拉伸的時候, 就按照img和容器的weight來確定比例,是圖片來按照這個比例來擴大或縮小。  回復  更多評論
            

          # re: 通過js等比擴大圖片的比例 2007-01-02 13:08 文鯨
          啊   回復  更多評論
            

          主站蜘蛛池模板: 梅河口市| 沁阳市| 宾川县| 恩平市| 博爱县| 大宁县| 西畴县| 满城县| 樟树市| 临邑县| 个旧市| 永州市| 莱西市| 东乡| 峨眉山市| 金华市| 太原市| 广元市| 陕西省| 永州市| 启东市| 通化市| 务川| 贵阳市| 泰顺县| 新蔡县| 新巴尔虎左旗| 土默特左旗| 十堰市| 永宁县| 漯河市| 陇西县| 崇阳县| 北川| 五常市| 龙川县| 革吉县| 绍兴市| 潍坊市| 华蓥市| 布拖县|