java修改图片的宽高

因为一些特定的原因,限制了长传图片的大小。可以使用一下这个方法试试。
我是测试过没问题发布的。


import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;import javax.imageio.ImageIO;import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;public class UpdateImage {/*** java修改图片的宽高*    参数 inPath 为文件的绝对路径* 参数 outPath 为修改好后的保存路径* 参数 wid 新图片的宽* * */public static void main(String[] args) {// TODO Auto-generated method stubString inPath = "D:\\photo\\1.jpg";String outPath ="D:\\ziliao\\1.jpg";int wid = 120;try {updateImage(inPath, outPath, wid);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void updateImage(String inPath,String outPath,int wid) throws IOException{InputStream inputStream = new FileInputStream(new File(inPath));BufferedImage bufferedImage = ImageIO.read(inputStream);int height = bufferedImage.getHeight(); //图片的高int width = bufferedImage.getWidth();  //图片的宽int newHeight =0;int newWidth =0;//if(wid>width){double s = wid/width;newHeight = (int) ((int) height*s);newWidth = (int) ((int) width*s);}if(wid<width){double s = width/wid;newHeight = (int) ((int) height/s);newWidth = (int) ((int) width/s);}BufferedImage image = new BufferedImage(newWidth,newHeight, BufferedImage.TYPE_INT_BGR);Graphics garphics = image.createGraphics();garphics.drawImage(bufferedImage, 0, 0, newWidth, newHeight, null);OutputStream outputStream = new FileOutputStream(new File(outPath));JPEGImageEncoder j = JPEGCodec.createJPEGEncoder(outputStream);j.encode(image);outputStream.close();}}

BufferedImage.TYPE_INT_BGR:
表示一个图像,该图像具有整数像素的 8 位 RGB 颜色。 R代表红,red; G代表绿,green; B代表蓝,blue。RGB模式就是,色彩数据模式,R在高位,G在中间,B在低位。BGR正好相反。例如,如果色彩数据是24位,对于RGB模式,就是高8位是R,中间8位是G,低8位是B。一个色彩数据共24位,3个字节。

java修改图片宽高相关推荐

  1. 20220209-CTF MISC -normal_png-stegsolve分析图片--Winhex修改图片宽高

    攻防世界- MISC-进阶区-003-normal_png 下载附件: 首先Mac打不开: 换到kali 也无法打开: 于是我又换到windows(之前碰到过这种情况,图片只能在Windows环境下才 ...

  2. WinHex修改图片宽高

    从第二行开始,前四位是宽,后四位是高.

  3. java解析webp格式图片宽高;java解析webp图片转png格式

    java解析webp格式图片宽高:java解析webp图片转png格式 package 你的包名:***.***.***.***;import java.io.FileInputStream; imp ...

  4. 【PDFBox】PDFBox操作PDF文档之添加本地图片、添加网络图片、图片宽高自适应、图片水平垂直居中对齐

    这篇文章,主要介绍PDFBox操作PDF文档之添加本地图片.添加网络图片.图片宽高自适应.图片水平垂直居中对齐. 目录 一.PDFBox操作图片 1.1.添加本地图片 (1)案例代码 (2)运行效果 ...

  5. vue移动端通过px动态计算图片宽高_vue图片宽高自适应_移动web图片高度自适应的解决方案...

    由于图片的加载是在dom加载完成之后进行的,于是,在手机端浏览网页时,经常会看到页面刚打开时很多内容叠在一起,当图片加载完成后,页面会由于图片加载完成出现明显的抖动 针对这个问题,有以下几种解决方案 ...

  6. vue-preview动态获取图片宽高并增加旋转功能

    vue-preview是一个常用的图片查看器,微博网页版就是用的这个插件: 我在项目中也用过这个插件,总体来说,还是比较满意.但是缺少一个图片旋转功能. 安装使用 第一步:安装 npm i vue-p ...

  7. JS快速获取图片宽高的方法

    JS快速获取图片宽高的方法 快速获取图片的宽高其实是为了预先做好排版样式布局做准备,通过快速获取图片宽高的方法比onload方法要节省很多时间,甚至一分钟以上都有可能,并且这种方法适用主流浏览器包括I ...

  8. android 通过图片url获取宽高_通过 URL 获取图片宽高优化

    一张小图.png 前言 客户端研发时,有时会有这样的需求,需要根据图片链接地址获取图片的宽高来进行界面排版. 一般比较正规的做法,是服务端在返回数据时将图片的信息属性一起带回来,这也符合轻客户端设计规 ...

  9. Flutter图片宽高获取

    本地图片宽高获取 网络图片宽高获取 原理 通过在其ImageProvider上调用resolve来读取ImageStream 1.本地图片宽高获取 以IM发送本地图片为例 sendImage: (St ...

最新文章

  1. [日推荐]『保养汽车』爱车的专职管家
  2. cmakelists 常见用法
  3. Request.From,Request.QueryString转对象
  4. jemalloc java_从源构建tensorflow遇到错误:规则'@jemalloc//:jemalloc'的C编译失败
  5. MMKV集成与原理,详细学习指南
  6. 武汉大学计算机学院参考书目,2020武汉大学计算机与软件工程考研初试科目、参考书目及复试详情...
  7. spring MVC 项目 WEB-INF下的jsp不能加载css文件
  8. 为什么很多人认为一辆车开五六年就要换车?
  9. 读c语言深度剖析 -- 宏定义(2)
  10. python selenium page object_Selenium Page Object 自动化测试框架-Page Object设计
  11. 三菱触摸屏(GS2110)触摸屏经宇电AI-mobdus485通讯转换器与2个宇电70482D7多路温度模块直接通讯实例
  12. 一个P2P未跑路平台老板的自白
  13. 第二届SLAM暑期学校和全国技术论坛有感
  14. 我学设计模式 之 原型模型模式
  15. cindy java_Cindy User Guide
  16. mescroll插件
  17. HTML5的新增标签
  18. 欧姆龙485通讯示例程序_远程通讯模块在plc无线通信中的应用
  19. chromedriver下载 安装流程
  20. 匹配中文汉字日文韩文等多国语言的正则表达式(转)

热门文章

  1. 如何优雅的实现分布式接口幂等性、分布式限流(荣耀典藏版)
  2. 软件测试中的ab测试指的是什么?
  3. 【泛微ecology】Linux下 ecology日志截取
  4. 乐视电视的病毒式增速效应与“可怕”现象
  5. vue3.0引入百度地图并标记点
  6. 文本处理-英文拼写检查
  7. 30岁之后,人的命运就藏在《周易》中,看懂受益一生!
  8. 世界首富贝索斯正式签定离婚协议 前妻分到383亿美元股票
  9. 星秒雷达获得UL和TUV认证
  10. 2021年中国橡胶轮胎行业市场供需及进出口情况分析:橡胶轮胎外胎产量89910.8万条,同比增涨11.35% [图]