第一页面html  <div class="admin">${answer.content}</div>

<div class="adminss">${answer.content}</div>

第二循环压缩${answer.content}内容中的大图片

<script>

jQuery(function(){

setTimeout('imgLoad()'1000)//延长载入一分钟

});

function 'imgLoad(){//页面载入时循环遍历压缩admin以下内容带有img标志的图片

jQuery('.admin img').each(function(i){

DrawImage(jQuery('.admin img').eq(i),600,600);

});

jQuery('.adminss img').each(function(i){

DrawImage(jQuery('.adminss img').eq(i),500,500);

});)//页面载入时循环遍历压缩admin以下内容带有img标志的图片 500,500用户自己定义

}

</script>

第三 压缩图片的js

<script language="JavaScript">

<!--

//图片按比例缩放

var flag=false;

function DrawImage(ImgD,iwidth,iheight){

    //參数(图片,同意的宽度,同意的高度)

var image=ImD;

image.src=ImgD.attr('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;

        }

    }

}

//-->

</script>

另外一种需求例如以下:

在Web上显示图片,通常都会有图片显示比例问题,假设不给<img />限制width和height,那么假设图片大了就会将整个页面挤乱,图片小了又会使图片失真。

    我的需求例如以下:

        1、预先定义好图片显示的标准宽度和高度。

        2、假设图片的大小超过了标准定义,那么等比例压缩图片。

        3、假设图片的大小等于标准定义。那么依照标准宽度和高度显示图片。

        4、假设图片的大小小于标准定义,那么不正确图片进行不论什么压缩处理。

    可能是我搜索的keyword不正确吧。在网上找了非常长时间。才找到,感觉非常好使。代码例如以下

<script language="JavaScript">

<!--

//图片按比例缩放

var flag=false;

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;

        }

    }

}

//-->

</script>

调用:<img src="images/toplogo.gif" onload="javascript:DrawImage(this,100,100)">

处理页面载入图片js(等比例压缩图片)的更多相关文章

  1. 等比例压缩图片到指定的KB大小

    基本原理: 取原来的图片,长宽乘以比例,重新生成一张图片,获取这张图片的大小,如果还是超过预期大小,继续在此基础上乘以压缩比例,生成图片,直到达到预期 /** * @获取远程图片的体积大小 单位byt ...

  2. JS等比例缩放图片,限定最大宽度和最大高度

    JS等比例缩放图片,限定最大宽度和最大高度 JavaScript //图片按比例缩放 var flag=false; function DrawImage(ImgD,iwidth,iheight){ ...

  3. 最新javascript自动按比例显示图片,按比例压缩图片显示

    最新javascript自动按比例显示图片,按比例压缩图片显示 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...

  4. js上传压缩图片

    原文链接:http://blog.csdn.net/iefreer/article/details/53039848 手机用户拍的照片通常会有2M以上,这对服务器带宽产生较大压力. 因此在某些应用下( ...

  5. java中判断图片格式并且等比例压缩图片

    最近项目中需要判断上传的图片必须是png,jpg,gif三种格式的图片,并且当图片的宽度大于600px时,压缩图片至600px,并且等比例的压缩图片的高度. 具体的实现形式: 大致的思路是: 判断根据 ...

  6. h5页面使用js实现保存当前图片到手机相册

    很可惜,这个鬼东西微信内置浏览器不适用 页面: <!doctype html> <html> <head> <meta charset="UTF-8 ...

  7. 结合Vue.js的前端压缩图片方案

    这是一个很简单的方案.嗯,是真的. 为什么要这么做? 在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体 ...

  8. JS按比例缩放图片

    1.JS代码 <script type="text/javascript" language="javascript"> var flag = fa ...

  9. php等比例压缩图片

    <?php function resizeImage($im,$maxwidth,$maxheight,$name,$filetype) { $pic_width = imagesx($im); ...

随机推荐

  1. 【LeetCode】Intersection of Two Linked Lists(相交链表)

    这道题是LeetCode里的第160道题. 题目讲的: 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, ...

  2. A. Test for Job

    A. Test for Job Time Limit: 5000ms Case Time Limit: 5000ms Memory Limit: 65536KB   64-bit integer IO ...

  3. BZOJ 1007 [HNOI2008]水平可见直线 ——半平面交 凸包

    发现需要求一个下凸的半平面上有几个交点. 然后我们把它变成凸包的问题. 好写.好调.还没有精度误差. #include <map> #include <ctime> #incl ...

  4. 算法复习——cdq分治

    题目: Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要 ...

  5. spring之lazy-init

    lazy-init:延迟实例化 ApplicationContext实现的默认行为就是在启动服务器时将所有singleton bean提前进行实例化.提前实例化意味着作为初始化过程的一部分,appli ...

  6. 2>&1使用

    2>&1使用 一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |).2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号 ...

  7. 封装的一个Worker方法,利用线程处理运行时间较长的js代码

    function webWorker(targetFile,content){ var promise=new Promise(function(resolve,reject){ var web=ne ...

  8. linux 管道符号 | ,以及&& ||等等特殊符号笔记

    管道和重导向:“|”.“>”.“>>”.“<” 重导向就是使命令改变它所认定的标准输出.“>”可将结果输出到文件中,该文件原有内容会被删除,“>>”则将结果附 ...

  9. 更改UISwitch大小

    UISwitch大小总是改不了...找了一个简便方法. 
mySwitch = [[UISwitch alloc] initWithFrame: CGRectMake( width - 55, hei ...

  10. keepalived学习

    HA集群 keepalived heartbeat corosync cman 功能实现 vrrp协议在Linux主机上以守护进程方式, 能够根据配置文件自动生成ipvs规则 对各RS健康状态检测 组 ...