java中的图片按比例缩放功能

1. 按固定长宽进行缩放

/*

* 图片缩放,w,h为缩放的目标宽度和高度

* src为源文件目录,dest为缩放后保存目录

*/

public static void zoomImage(String src,String dest,int w,int h) throws Exception {

double wr=0,hr=0;

File srcFile = new File(src);

File destFile = new File(dest);

BufferedImage bufImg = ImageIO.read(srcFile); //读取图片

Image Itemp = bufImg.getScaledInstance(w, h, bufImg.SCALE_SMOOTH);//设置缩放目标图片模板

wr=w*1.0/bufImg.getWidth(); //获取缩放比例

hr=h*1.0 / bufImg.getHeight();

AffineTransformOp ato = new AffineTransformOp(AffineTransform.getScaleInstance(wr, hr), null);

Itemp = ato.filter(bufImg, null);

try {

ImageIO.write((BufferedImage) Itemp,dest.substring(dest.lastIndexOf(".")+1), destFile); //写入缩减后的图片

} catch (Exception ex) {

ex.printStackTrace();

}

}

2. 按固定文件大小进行缩放

/*

* 图片按比率缩放

* size为文件大小

*/

public static void zoomImage(String src,String dest,Integer size) throws Exception {

File srcFile = new File(src);

File destFile = new File(dest);

long fileSize = srcFile.length();

if(fileSize < size * 1024) //文件大于size k时,才进行缩放,注意:size以K为单位

return;

Double rate = (size * 1024 * 0.5) / fileSize; // 获取长宽缩放比例

BufferedImage bufImg = ImageIO.read(srcFile);

Image Itemp = bufImg.getScaledInstance(bufImg.getWidth(), bufImg.getHeight(), bufImg.SCALE_SMOOTH);

AffineTransformOp ato = new AffineTransformOp(AffineTransform.getScaleInstance(rate, rate), null);

Itemp = ato.filter(bufImg, null);

try {

ImageIO.write((BufferedImage) Itemp,dest.substring(dest.lastIndexOf(".")+1), destFile);

} catch (Exception ex) {

ex.printStackTrace();

}

}

java 等比缩放图片_java处理图片按比例缩放功能相关推荐

  1. html img图片不变形等比例缩放,兼容ie6

    方法1 img 只定义宽(或高)度可以等比例缩放,外面加个框,设置宽高和 overflow:hidden; 即可 方法2 在img标签里面只设置宽,不设置高,图片就会等比例缩放. 方法3 或者把图片作 ...

  2. html图片缩放6,html img图片不变形等比例缩放,兼容ie6

    方法1 img 只定义宽(或高)度可以等比例缩放,外面加个框,设置宽高和 overflow:hidden; 即可方法2 在img标签里面只设置宽,不设置高,图片就会等比例缩放. 方法3 或者把图片作背 ...

  3. c# Thumbnail 生成缩略图,生成压缩图,最大宽高比例缩放,最大边按比例缩放

    原代码来自共享,这里谢一下原作者,再增加点扩展,分享一下 ,扩展:ThumbMode.MaxHW 模式 ,说明:最大宽高比例缩放,最大边按比例缩放 ,例1:原图 100*50 生成 50*30,则结果 ...

  4. java等比压缩图片_java上传并压缩图片(等比例压缩或者原尺寸压缩)

    先看效果: 原图:1.33M 处理后:27.4kb 关键代码; package codeGenerate.util; import java.awt.Color; import java.awt.Gr ...

  5. java主界面设置背景图片_java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改)...

    java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改) 关注:223  答案:4  mip版 解决时间 2021-01-26 22:09 提问者非莪莫属 2021-01 ...

  6. python 缩放图片_python实现按长宽比缩放图片

    使用python按图片固定长宽比缩放图片到指定图片大小,空白部分填充为黑色. 代码 # -*- coding: utf-8 -*- from pil import image class image_ ...

  7. el轮播图片image单张图比例缩放及多张图宽度固定高度等比例自适应展示;

    开发过程中xx产品强烈需要轮播图的布局不固定, 单张 等比例缩放展示,多张图取最高高度自适应展示:通过修改图片img 父级盒子容器宽高固定图片高度: 单张:1.方图 (宽高比例 ± 15% ) 2 . ...

  8. python调整屏幕缩放比例_python实现按长宽比缩放图片 python的turtle怎样缩放界面吧...

    python中如何控制GUI界面等比例缩放 root = Tk() # 创建 GUI 主程序 root.geometry('800x800+0+0')#设置界面欢迎来到四十五资源网: 你可以使用网格布 ...

  9. java缩放图片_java 图片缩放(2)

    之前写过一个图片缩放的功能,对于大幅度缩小,效果很差,这里做了小部分改进 原理是缩小的时候不是一次就缩小完,而是分成几次缩小,这样的好处是算法对像素的计算更加准确, final int bs = 2; ...

最新文章

  1. wpf 多线程处理同步数据_一文带你理解多线程的实际意义和优势
  2. iOS安全攻防(八)Thoes的Logos简介
  3. java 音频电台_Java-通过Java套接字广播语音
  4. 离职半年了,最近又开始被吐槽输出不够...
  5. Judge Route Circle
  6. 你的模型够可靠么?关键词掩码的模型可靠性提升方法探索
  7. Linux文件查找之find秘笈
  8. JM8.5中的7种宏块模式问题
  9. 简单参数让谷歌Chrome浏览器单进程运行
  10. 计算机硬件实现乘法是什么,乘法器
  11. mc穿越时空地图android,我的世界RPG地图穿越时空地图存档下载
  12. 萌新的Python练习菜鸟100例(十六)输出指定格式的日期。
  13. win10 pin码如何设置
  14. 大数据分析平台具有哪些价值
  15. vb.net 教程 11-1 打印组件 1 基础
  16. ppt如何替换其他mo ban_如何制作PPT教程:PPT排版格式技巧汇总
  17. 如何在PlayStation 4上查看或清除浏览历史记录
  18. 李智慧 - 架构师训练营 第四周
  19. [FirefoxOS_开发环境]Linux和Ubuntu环境下B2G(Firefox OS)安装、编译、测试教程集合
  20. Unity AzureKinect 初识(二) 姿势识别

热门文章

  1. [CCF] 201612-2 工资计算
  2. asp.net 调用带证书的webservice解决办法
  3. 【DSP开发】【VS开发】YUV与RGB格式转换
  4. 3月16日 winform
  5. dinic (最大流) 算法 讲解
  6. .NET不用代码生成器自己写一个生成Code的DLL 自动动态生成三层架构(一)概况...
  7. 招聘webgis开发经理和程序员
  8. Git学习笔记:远程仓库
  9. cuda core和sp
  10. [云炬创业基础笔记]第二章创业者测试2