小编给大家分享一下java中如何将一图片同比例缩小绘制,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在获得客户端的一个图片后,发现传过来的图片太大,不宜在已经排版好的格式里面显示出来,特别是页面的图片特别多时,更不能都让大图片缩小显示。
一般遇到图片问题,有以下几种解决方案:
一、规定(自定义)图片大小
在该位置,图片是多大就显示多大,
这种情况简单易行,但图片易变形,图片太大,导致页面打开速度过慢
二、获得图片尺寸
也因图片过大,不宜在图片过多的也面中显示
下面介绍一种方法,可以读取大图片并生成一个小图片,以解决图片问题。
/* * Created on 2004-10-11 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package net.jspcn.test; import java.io.File; import java.io.FileOutputStream; import java.awt.Image; import java.awt.image.BufferedImage; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class JpgTest { public void jpgTset() throws Exception{ File _file = new File("d:1.jpg"); //读入文件 Image src = javax.imageio.ImageIO.read(_file); //构造Image对象 int wideth=src.getWidth(null); //得到源图宽 int height=src.getHeight(null); //得到源图长 BufferedImage tag = new BufferedImage(wideth/2,height/2,BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(src,0,0,wideth/2,height/2,null); //绘制缩小后的图 FileOutputStream out=new FileOutputStream("D: ewfile.jpg"); //输出到文件流 //File file = new File("D: ewFile.jpg"); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); //JPEGImageEncoder encoder = JPEGCodec.c encoder.encode(tag); //近JPEG编码 out.close(); } public static void main(String[] args){ try{ new JpgTest().jpgTset(); }catch(Exception e){ e.printStackTrace(); } } } |
当然,在此基础上,你可以写一图片处理程序,批量的处理你的图片
看完了这篇文章,相信你对“java中如何将一图片同比例缩小绘制”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。