java修改图片宽高
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修改图片宽高相关推荐
- 20220209-CTF MISC -normal_png-stegsolve分析图片--Winhex修改图片宽高
攻防世界- MISC-进阶区-003-normal_png 下载附件: 首先Mac打不开: 换到kali 也无法打开: 于是我又换到windows(之前碰到过这种情况,图片只能在Windows环境下才 ...
- WinHex修改图片宽高
从第二行开始,前四位是宽,后四位是高.
- java解析webp格式图片宽高;java解析webp图片转png格式
java解析webp格式图片宽高:java解析webp图片转png格式 package 你的包名:***.***.***.***;import java.io.FileInputStream; imp ...
- 【PDFBox】PDFBox操作PDF文档之添加本地图片、添加网络图片、图片宽高自适应、图片水平垂直居中对齐
这篇文章,主要介绍PDFBox操作PDF文档之添加本地图片.添加网络图片.图片宽高自适应.图片水平垂直居中对齐. 目录 一.PDFBox操作图片 1.1.添加本地图片 (1)案例代码 (2)运行效果 ...
- vue移动端通过px动态计算图片宽高_vue图片宽高自适应_移动web图片高度自适应的解决方案...
由于图片的加载是在dom加载完成之后进行的,于是,在手机端浏览网页时,经常会看到页面刚打开时很多内容叠在一起,当图片加载完成后,页面会由于图片加载完成出现明显的抖动 针对这个问题,有以下几种解决方案 ...
- vue-preview动态获取图片宽高并增加旋转功能
vue-preview是一个常用的图片查看器,微博网页版就是用的这个插件: 我在项目中也用过这个插件,总体来说,还是比较满意.但是缺少一个图片旋转功能. 安装使用 第一步:安装 npm i vue-p ...
- JS快速获取图片宽高的方法
JS快速获取图片宽高的方法 快速获取图片的宽高其实是为了预先做好排版样式布局做准备,通过快速获取图片宽高的方法比onload方法要节省很多时间,甚至一分钟以上都有可能,并且这种方法适用主流浏览器包括I ...
- android 通过图片url获取宽高_通过 URL 获取图片宽高优化
一张小图.png 前言 客户端研发时,有时会有这样的需求,需要根据图片链接地址获取图片的宽高来进行界面排版. 一般比较正规的做法,是服务端在返回数据时将图片的信息属性一起带回来,这也符合轻客户端设计规 ...
- Flutter图片宽高获取
本地图片宽高获取 网络图片宽高获取 原理 通过在其ImageProvider上调用resolve来读取ImageStream 1.本地图片宽高获取 以IM发送本地图片为例 sendImage: (St ...
最新文章
- [日推荐]『保养汽车』爱车的专职管家
- cmakelists 常见用法
- Request.From,Request.QueryString转对象
- jemalloc java_从源构建tensorflow遇到错误:规则'@jemalloc//:jemalloc'的C编译失败
- MMKV集成与原理,详细学习指南
- 武汉大学计算机学院参考书目,2020武汉大学计算机与软件工程考研初试科目、参考书目及复试详情...
- spring MVC 项目 WEB-INF下的jsp不能加载css文件
- 为什么很多人认为一辆车开五六年就要换车?
- 读c语言深度剖析 -- 宏定义(2)
- python selenium page object_Selenium Page Object 自动化测试框架-Page Object设计
- 三菱触摸屏(GS2110)触摸屏经宇电AI-mobdus485通讯转换器与2个宇电70482D7多路温度模块直接通讯实例
- 一个P2P未跑路平台老板的自白
- 第二届SLAM暑期学校和全国技术论坛有感
- 我学设计模式 之 原型模型模式
- cindy java_Cindy User Guide
- mescroll插件
- HTML5的新增标签
- 欧姆龙485通讯示例程序_远程通讯模块在plc无线通信中的应用
- chromedriver下载 安装流程
- 匹配中文汉字日文韩文等多国语言的正则表达式(转)
热门文章
- 如何优雅的实现分布式接口幂等性、分布式限流(荣耀典藏版)
- 软件测试中的ab测试指的是什么?
- 【泛微ecology】Linux下 ecology日志截取
- 乐视电视的病毒式增速效应与“可怕”现象
- vue3.0引入百度地图并标记点
- 文本处理-英文拼写检查
- 30岁之后,人的命运就藏在《周易》中,看懂受益一生!
- 世界首富贝索斯正式签定离婚协议 前妻分到383亿美元股票
- 星秒雷达获得UL和TUV认证
- 2021年中国橡胶轮胎行业市场供需及进出口情况分析:橡胶轮胎外胎产量89910.8万条,同比增涨11.35% [图]