zoukankan      html  css  js  c++  java
  • JS等比例缩放图片

    function DrawImage(ImgD, iwidth, iheight) {
                
    var image = new Image();
                image.src 
    = ImgD.src;
                
    if (image.width > 0 && image.height > 0) {
                    flag 
    = true;
                    
    if (image.width / image.height >= iwidth / iheight) {
                        
    if (image.width > iwidth) {
                            ImgD.width 
    = iwidth;
                            ImgD.height 
    = image.height * iwidth / image.width;
                        } 
    else {
                            ImgD.width 
    = image.width;
                            ImgD.height 
    = image.height;
                        }
                        ImgD.alt 
    = image.width + "×" + image.height;
                    }
                    
    else {
                        
    if (image.height > iheight) {
                            ImgD.height 
    = iheight;
                            ImgD.width 
    = image.width * iheight / image.height;
                        } 
    else {
                            ImgD.width 
    = image.width;
                            ImgD.height 
    = image.height;
                        }
                        ImgD.alt 
    = image.width + "×" + image.height;
                    }
                }
            }

     优化以后

    function DrawImage(ImgD, iwidth, iheight) {
                var image = new Image();
                image.src = ImgD.src;
                if (image.width > 0 && image.height > 0) 
                {             
                    if (image.width / iwidth  > image.height / iheight) {
                        if (image.width > iwidth) 
                        {
                            ImgD.width = iwidth;
                            ImgD.height = image.height * iwidth / image.width;
                        } else 
                        {
                            ImgD.width =  iwidth;
                            ImgD.height = image.height * image.width / iwidth;
                        }                    
                    }
                    else if(image.width / iwidth  < image.height / iheight)
                    {
                        if (image.height > iheight) 
                        {
                            ImgD.height = iheight;
                            ImgD.width = image.width * iheight / image.height;
                        } else 
                        {
                            ImgD.height= image.width;
                            ImgD.width = image.width * image.height / iheight
                        }                   
                    }else
                    {
                        ImgD.width = iwidth;
                        ImgD.height = iheight;
                    }
                }
            }

     

  • 相关阅读:
    GlassFish 3.1 正式版发布
    NetBeans 时事通讯(刊号 # 137 Mar 03, 2011)
    在Win7上安装AutoCAD2007碰到的问题及其解决办法
    如何访问 golang.org
    GlassFish 3.1 正式版发布
    NetBeans 时事通讯(刊号 # 138 Mar 08, 2011)
    哪本书是对程序员最有影响、每个程序员都该阅读的书?
    NetBeans 时事通讯(刊号 # 138 Mar 08, 2011)
    NetBeans 时事通讯(刊号 # 137 Mar 03, 2011)
    哪本书是对程序员最有影响、每个程序员都该阅读的书?
  • 原文地址:https://www.cnblogs.com/mxw09/p/2054802.html
Copyright © 2011-2022 走看看