java 固定的范围内,按分辨率比例正确显示图片
在网页上显示一张不走样的图片, 很多情况中,我们在固定的范围内显示,但常常因为图片太大太小而走样或只显示一部分。
为了解决这个问题,先看看第一种方法:
方法一,用width固定图片:
<img width="200px" id="photo" src="http://www.yangyuehua.com/includes/images/default_0.jpg" />
固定宽度,这是不走样的最简单的方法,但如果图片高比例较长的话,显示不人性化,图片太小也被拉大。
方法二,用JQuery设置宽度长度:
var srcWidth = $("#photo").attr("width");
var srcHeight = $("#photo").attr("height");
$("#photo").attr("width", 200);
$("#photo").attr("height", srcHeight * 200/srcWidth);
按比例动态改变图片大小,能获得比较好的图片适应大小。
缺点是加载图片慢时会获不到图片长度。
方法三,java直接获取图片大小信息后进行处理:
double m_srcWidth = 0.0;
double m_srcHeight = 0.0;
String m_filepath = "http://www.yangyuehua.com/includes/images/default_0.jpg";
File w_tmp = new File(m_filepath);
if (w_tmp.exists() && !w_tmp.isDirectory()) {
InputStream w_is = new FileInputStream(m_filepath);
BufferedImage w_src = javax.imageio.ImageIO.read(w_is);
m_srcWidth = (double)w_src.getWidth(null);
m_srcHeight = (double)w_src.getHeight(null);
}
if(m_srcWidth==0 || m_srcHeight==0){
m_srcWidth = 250.0;
m_srcHeight = 230.0;
}else{
if(m_srcWidth>250.0){
m_srcHeight = m_srcHeight*(250.0/m_srcWidth);
m_srcWidth = 250.0;
}
if(m_srcHeight>230.0){
m_srcWidth = m_srcWidth*(230.0/m_srcHeight);
m_srcHeight = 230.0;
}
}
用Java直接获得图片大小,并按比例处理,在img中设置,
php、asp等也类似,就能完美地显示图片了。
- 上一篇:
- 下一篇: Spring返回json可以跨域设置
每日一句
博客分组
标签云
- 最近综合
- 情绪巨婴是什么 12.18
- 普通蛋糕做法 05.31
- 玉米烤肠芝士面包做法 05.31
- Mysql安装教程 - 绿色版 06.18
- 我们学习知识为什么总是忘记呢?【学习金字塔】 05.12
- Typora开发版⽆法使⽤解决⽅法 05.04
- 为什么无知者越自信? -- 达克效应 05.10
- 马斯洛需求层次理论 04.29
- 随机综合
- 中间件1.2.2-ActiveMQ支持的消息协议讲解 04.23
- Java学习总结(2.1.1) TCP/UDP协议 04.17
- Springboot安装与开始 03.08
- Spring返回json可以跨域设置 08.21
- Microsoft Edge和Google Chrome的STATUS_INVALID_IMAGE_HASH 07.06
- 我们学习知识为什么总是忘记呢?【学习金字塔】 05.12
- Android开发,为什么Android不直接链接mysql数据库 04.12
- Java学习总结(1.2.2) 线程安全之原子操作 03.20