当前位置: 首页 > news >正文

在指定宽度和高度范围内最大化缩放图片

  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
  • <html>  
  •     <head>  
  •         <title>等比缩放图片</title>  
  •         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  •         <script type="text/javascript">  
  •   
  •             /**  
  •              *定义缩放的数据结构  
  •              */  
  •             var scale={  
  •                 width:null,  
  •                 height:null  
  •             };  
  •   
  •             /**  
  •              *@see cn.hkm.web.Picture.java  
  •              *在指定宽度和高度范围内最大化缩放图片  
  •              *@param width  图片原始宽度  
  •              *@param height 图片原始高度  
  •              *@param outWidth  指定宽度范围  
  •              *@param outHeight 指定宽度范围  
  •              */  
  •   
  •             var scaleWH=function(width,height,outWidth,outHeight){  
  •                 width=parseInt(width);  
  •                 height=parseInt(height);  
  •                 outWidth=parseInt(outWidth);  
  •                 outHeight=parseInt(outHeight);  
  •   
  •                 var h=width;  
  •                 var w=height;  
  •                 var r=height/width;  
  •                 var rs=outHeight/outWidth;  
  •                 if((width<=outWidth)&&(height<=outHeight)){  
  •                     w=width;  
  •                     h=height;  
  •                 }  
  •                 if((width<=outWidth)&&(height>outHeight)){  
  •                     w=parseInt(outHeight/r);  
  •                     h=outHeight;  
  •                 }  
  •                 if((width>outWidth)&&(height<=outHeight)){  
  •                     w=outWidth;  
  •                     h=parseInt(outWidth*r);  
  •                 }  
  •                 if((width>outWidth)&&(height>outHeight)){  
  •                     if(r<rs){  
  •                         w=outWidth;  
  •                         h=parseInt(outWidth*r);  
  •                     }  
  •                     if(r>rs){  
  •                         h=outHeight;  
  •                         w=parseInt(outHeight/r);  
  •                     }  
  •                     if(r==rs){  
  •                         w=outWidth;  
  •                         h=outHeight;  
  •                     }  
  •                 }  
  •                 scale.width=w;  
  •                 scale.height=h;  
  •                 return scale;  
  •             }  
  •   
  •             /**  
  •              *@see cn.hkm.web.Picture.java  
  •              *在指定宽度范围内最大化缩放图片  
  •              *@param width  图片原始宽度  
  •              *@param height 图片原始高度  
  •              *@param outWidth  指定宽度范围  
  •              */  
  •             var scaleW=function(width,height,outWidth){  
  •                 width=parseInt(width);  
  •                 height=parseInt(height);  
  •                 outWidth=parseInt(outWidth);  
  •                 if(width<outWidth){  
  •                     scale.width=width;  
  •                     scale.height=height;  
  •                 }else{  
  •                     scale.width=outWidth;  
  •                     scale.height=parseInt(outWidth*height/width);  
  •                 }  
  •                 return scale;  
  •             }  
  •   
  •   
  •             /**  
  •              *@see cn.hkm.web.Picture.java  
  •              *在指定高度范围内最大化缩放图片  
  •              *@param width  图片原始宽度  
  •              *@param height 图片原始高度  
  •              *@param outWidth  指定宽度范围  
  •              */  
  •             var scaleH=function(width,height,outHeight){  
  •                 width=parseInt(width);  
  •                 height=parseInt(height);  
  •                 outHeight=parseInt(outHeight);  
  •                 if(height<outHeight){  
  •                     scale.width=width;  
  •                     scale.height=height;  
  •                 }else{  
  •                     scale.width=parseInt(outHeight*width/height);  
  •                     scale.height=outHeight;  
  •                 }  
  •                 return  scale;  
  •             }  
  •   
  •             function see(){  
  •                 scale=scaleWH(1366,768,600,600);  
  •                 document.getElementById("byWH").innerHTML="<img src='images/img001.png' width='"+scale.width+"px' height='"+scale.height+"px'  />";  
  •   
  •                 scale=scaleW(1366,768,500);  
  •                 document.getElementById("byW").innerHTML="<img src='images/img001.png' width='"+scale.width+"px' height='"+scale.height+"px'  />";  
  •   
  •                 scale=scaleH(1366,768,300);  
  •                 document.getElementById("byH").innerHTML="<img src='images/img001.png' width='"+scale.width+"px' height='"+scale.height+"px'  />";  
  •   
  •             }  
  •   
  •         </script>  
  •     </head>  
  •     <body onload="see()" >  
  •   
  •         <div id="byWH"></div>  
  •         <br/>  
  •         <div id="byW"></div>  
  •         <br/>  
  •         <div id="byH"></div>  
  •     </body>  
  • </html>  

转载于:https://www.cnblogs.com/feelyourbreath/archive/2013/04/09/3010015.html

相关文章:

  • 戴尔大中华区解决方案顾问鲍荣钦:技术驱动,数据改变物流
  • HDU 2844 Coins
  • 上海商业发展研究院刘斌:变革下的供应链发展趋势
  • 刷脸社区来了 阿里云打造无卡化智能社区
  • 中国制造2025 带动机器视觉进入快速车道
  • 【转】Android 中的 Service 全面总结
  • Tomcat配置安全优化
  • MySQL中的explain命令
  • 黑马程序员__用普通类模拟枚举的实现原理
  • 10.3生成器yield\send
  • Web Service中java与.net通信
  • 1050. [HAOI2006]旅行【并查集+枚举】
  • HDU-1421
  • 2251. [2010Beijing Wc]外星联络【后缀数组】
  • Tortoisesvn,鼠标右键菜单中找不到“检出”的处理方法
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Angular 响应式表单之下拉框
  • AngularJS指令开发(1)——参数详解
  • dva中组件的懒加载
  • es6--symbol
  • JavaScript实现分页效果
  • js学习笔记
  • Markdown 语法简单说明
  • PAT A1120
  • PHP的类修饰符与访问修饰符
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 精彩代码 vue.js
  • 老板让我十分钟上手nx-admin
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端知识点整理(待续)
  • 使用agvtool更改app version/build
  • 手机端车牌号码键盘的vue组件
  • gunicorn工作原理
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​什么是bug?bug的源头在哪里?
  • ​一些不规范的GTID使用场景
  • #数学建模# 线性规划问题的Matlab求解
  • (1)虚拟机的安装与使用,linux系统安装
  • (13):Silverlight 2 数据与通信之WebRequest
  • (4)Elastix图像配准:3D图像
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (离散数学)逻辑连接词
  • (三) diretfbrc详解
  • (转载)从 Java 代码到 Java 堆
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .NET Micro Framework初体验(二)
  • .NET Reactor简单使用教程
  • .NET 的程序集加载上下文
  • .net6+aspose.words导出word并转pdf
  • .net开发时的诡异问题,button的onclick事件无效
  • .net开发引用程序集提示没有强名称的解决办法
  • .php文件都打不开,打不开php文件怎么办
  • ??在JSP中,java和JavaScript如何交互?