基於javascript代碼實現通過點擊圖片顯示原圖片_javascript技巧

來源:互聯網
上載者:User

廢話不多說了,直接給大家貼js實現點擊圖片顯示原圖片的代碼,具體代碼如下所示:

function DrawImage(ImgD){  var image = new Image();  image.src=ImgD.src;  var width = $(ImgD).attr("width");  var height = $(ImgD).attr("height");  if(width >100 && height>80){    ImgD.width=100;     ImgD.height=80;    ImgD.alt=image.width+"×"+image.height;  }else{    if(image.width>0 && image.height>0){      flag=true;      if(image.width>300 || image.height>200){        ImgD.width=image.width/2;         ImgD.height=image.height/2;        ImgD.alt=image.width+"×"+image.height;      }else{        ImgD.width=image.width;          ImgD.height=image.height;        ImgD.alt=image.width+"×"+image.height;      }    }  }}

下面分享一段關於js實現上傳圖片及時預覽

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <title>圖片上傳本地預覽</title>   <style type="text/css">#preview{width:260px;height:190px;border:1px solid #000;overflow:hidden;}#imghead {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}</style><script type="text/javascript">        //圖片上傳預覽  IE是用了濾鏡。    function previewImage(file)    {     var MAXWIDTH = 260;      var MAXHEIGHT = 180;     var div = document.getElementById('preview');     if (file.files && file.files[0])     {       div.innerHTML ='<img id=imghead>';       var img = document.getElementById('imghead');       img.onload = function(){        var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);        img.width = rect.width;        img.height = rect.height;//         img.style.marginLeft = rect.left+'px';        img.style.marginTop = rect.top+'px';       }       var reader = new FileReader();       reader.onload = function(evt){img.src = evt.target.result;}       reader.readAsDataURL(file.files[0]);     }     else //相容IE     {      var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';      file.select();      var src = document.selection.createRange().text;      div.innerHTML = '<img id=imghead>';      var img = document.getElementById('imghead');      img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;      var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);      status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);      div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";     }    }    function clacImgZoomParam( maxWidth, maxHeight, width, height ){      var param = {top:0, left:0, width:width, height:height};      if( width>maxWidth || height>maxHeight )      {        rateWidth = width / maxWidth;        rateHeight = height / maxHeight;              if( rateWidth > rateHeight )        {          param.width = maxWidth;          param.height = Math.round(height / rateWidth);        }else        {          param.width = Math.round(width / rateHeight);          param.height = maxHeight;        }      }           param.left = Math.round((maxWidth - param.width) / 2);      param.top = Math.round((maxHeight - param.height) / 2);      return param;    }</script>   </head>   <body><div id="preview">  <img id="imghead" width=100 height=100 border=0 src='<%=request.getContextPath()%>/images/defaul.jpg'></div>  <input type="file" onchange="previewImage(this)" />   </body>   </html>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.