zoukankan      html  css  js  c++  java
  • 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{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'+file.id);
    if (file.files && file.files[0])
    {
    var imgid = 'imghead'+file.id;
    div.innerHTML ='<img id='+imgid+ '>';
    var img = document.getElementById(imgid );
    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='+imgid+ '>';
    // div.innerHTML = '<img id=imghead>';
    var img = document.getElementById('imghead'+file.id);
    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="+imgid+" style='"+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, 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="previewfile01" class='preview'></div>
    <input type="file" id='file01' onchange="previewImage(this)" />
    <div id="previewfile02" class='preview'></div>
    <input type="file" id='file02' onchange="previewImage(this)" />
    <div id="previewfile03" class='preview'></div>
    <input type="file" id='file03' onchange="previewImage(this)" />
    </body>
    </html>

  • 相关阅读:
    leetcode Super Ugly Number
    leetcode Find Median from Data Stream
    leetcode Remove Invalid Parentheses
    leetcode Range Sum Query
    leetcode Range Sum Query
    leetcode Minimum Height Trees
    hdu 3836 Equivalent Sets
    hdu 1269 迷宫城堡
    hud 2586 How far away ?
    poj 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/hyj0608/p/6719022.html
Copyright © 2011-2022 走看看