java将图片按比例缩小
要求是,给一个10M的图片,然后将这个图片按照长宽比不变的要求缩小到50k!!求类似的例子或者实现方法...
要求是,给一个10M的图片,然后将这个图片按照长宽比不变的要求缩小到50k!!求类似的例子或者实现方法
展开
3个回答
推荐于2017-11-26
展开全部
Image srcImg = ImageIO.read(new FileInputStream(fnSrc) );//取源图
int width = 600; //假设要缩小到600点像素
int height = srcImg.getHeight(null)*600/srcImg.getWidth(null);//按比例,将高度缩减
System.out.println("Width: "+srcImg.getWidth(null));// 这几行是调试用
System.out.println("Height: "+srcImg.getHeight(null));
System.out.println("Width2: "+width);
System.out.println("Height2: "+height);
Image smallImg =srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH);//缩小
int width = 600; //假设要缩小到600点像素
int height = srcImg.getHeight(null)*600/srcImg.getWidth(null);//按比例,将高度缩减
System.out.println("Width: "+srcImg.getWidth(null));// 这几行是调试用
System.out.println("Height: "+srcImg.getHeight(null));
System.out.println("Width2: "+width);
System.out.println("Height2: "+height);
Image smallImg =srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH);//缩小
追问
这样做,照片的长宽都是变小了,我想确认下,照片的大小会变小吗?比如从6m变为60k- -!
追答
40多k
60k, 那宽度加长一点,具体多少要测试一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询