<html:image src="${ctx}/userAction.do?dispatch=showImage&id=${user.userid}" styleId="tupian"></html:image>
上面标签显示了一张图片,想控制图片的显示尺寸!

解决方案 »

  1.   

    方法1:脚本控制,img标签有个onload事件,自己写个脚本方法,获取图片高和宽,计算高宽之比,然后根据自己想要控制的大小来改变这个img对象的高宽属性值,按比例缩小可保证图片不扭曲。
    但是这个方法有个不好的缺点,浏览器解析时经常会漏过调用这个方法,或是图片加载完成后脚本却未加载完,也没法执行,显示结果就会出现图片显示大小不一的情况。
    方法2:也是我目前在用的方法,就是在图片上传时就进行按比例压缩至统一大小,到页面端时就可以高枕无忧了,还有减少图片文件大小的优点。
    java上进行图片压缩等操作可能用到的包:
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.RenderingHints;
    import java.awt.image.BufferedImage;
    下面贴一下方法一的示例代码:
    /*
    * 规范图片大小(强制尺寸压缩)
    * 参数 img标签对象
    */
    function formatImg(imgObject){
        imgObject.height = 90;
        imgObject.width = 180;
    }
    /*
    * 规范图片大小(按照原图宽高之比进行压缩)
    * 参数 img标签对象
    */
    function formatImg(imgObject){
    if(imgObject.height > 130 || imgObject.width > 200){
    var hw = imgObject.height/imgObject.width;
    var hh = imgObject.height/130;
    var ww = imgObject.width/200;
    if (hh>ww) {
    imgObject.height = 130;
    imgObject.width = 130/hw;
    } else {
    imgObject.height = 200*hw;
    imgObject.width = 200;
    }
    }
    /*
    imgObject.height = 130;
    imgObject.width = 200;*/
    }
      

  2.   

    <img src="<%=request.getContextPath() %>/images/left_top.jpg" width="251" height="509" />通过图片的width和height属性设置就可以了
      

  3.   

    html:image..没用过的BK路过。。 如果没有那些属性的话 你看看用样式能控制不