JAVA改变图片大小,将图片改为Jpg格式

package util;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.*;
import java.io.File;
import java.io.IOException;/*** Created by OovEver on 2017/11/19.* 1.将图像转化为jpg格式* 2.修改图像的大小*/
public class ImageUtil {/**** * @param f 图片名称* @return 转化为jpg后的图片*/public static BufferedImage change2jpg(File f) {try {Image        i  = Toolkit.getDefaultToolkit().createImage(f.getAbsolutePath());PixelGrabber pg = new PixelGrabber(i, 0, 0, -1, -1, true);pg.grabPixels();int              width      = pg.getWidth(), height = pg.getHeight();final int[]      RGB_MASKS  = { 0xFF0000, 0xFF00, 0xFF };final ColorModel RGB_OPAQUE = new DirectColorModel(32, RGB_MASKS[0], RGB_MASKS[1], RGB_MASKS[2]);DataBuffer       buffer     = new DataBufferInt((int[]) pg.getPixels(), pg.getWidth() * pg.getHeight());WritableRaster   raster     = Raster.createPackedRaster(buffer, width, height, width, RGB_MASKS, null);BufferedImage    img        = new BufferedImage(RGB_OPAQUE, raster, false, null);return img;} catch (InterruptedException e) {e.printStackTrace();return null;}}/****  重置图片大小* @param srcFile 原图片* @param width 新的宽度* @param height 新的高度* @param destFile 转化后的图片*/public static void resizeImage(File srcFile, int width, int height, File destFile) {try {if(!destFile.getParentFile().exists())destFile.getParentFile().mkdirs();Image i = ImageIO.read(srcFile);i = resizeImage(i, width, height);ImageIO.write((RenderedImage) i, "jpg", destFile);} catch (IOException e) {System.out.println("文件不存在");e.printStackTrace();}}public static Image resizeImage(Image srcImage, int width, int height) {try {BufferedImage buffImg = null;buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);buffImg.getGraphics().drawImage(srcImage.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, null);return buffImg;} catch (Exception e) {e.printStackTrace();}return null;}
}

附 :所有java工具相关的代码,已放到github上,除了此工具类,还有其他工具类,欢迎大家补充,github地址: https://github.com/oovever/javaUtil

JAVA改变图片大小,将图片改为Jpg格式相关推荐

  1. python自带的PIL库扩展图片大小给图片加上文字描述

    利用python自带的PIL库扩展图片大小给图片加上文字描述.大多都是库函数调用,只是给定图片宽度后计算文字所需行数的代码需要写. 代码比较丑,but it works. #!/usr/bin/env ...

  2. python add picture显示过大_利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例...

    前言 最近的一个项目中需要在图片上添加文字,使用了OpenCV,结果发现利用opencv给图像添加文字有局限.可利用的字体类型比较少,需要安装Freetype扩展,比较复杂.而且不能用putText函 ...

  3. vue H5app plus调取手机相册,限制图片大小,图片转base64

    vue H5app plus调取手机相册,限制图片大小,图片转base64 直接上代码 filmImg(){ //移动端发送图片let _this = this plus.gallery.pick(f ...

  4. 怎么压缩图片大小,图片压缩方法

    怎么压缩图片大小?工作中如果遇到一些体积较大的图片,尤其一些清晰度很高的图片,可能一张小尺寸的图片就有2-3M的大小,这个我们的使用打开造成很多的麻烦,例如因为超过限制大小而不能上传,打开的时候很大, ...

  5. Java修改图片大小尺寸图片缩放(URL图片和本地图片)

    方式一:使用Image.getScaledInstance 使用jdk的awt包下的Image.getScaledInstance实现图片的缩放.好处是无需引入第三方jar,缺点是会稍微有点模糊. 工 ...

  6. JAVA根据指定大小压缩图片

    /*** 根据指定大小压缩图片** @param sourceFilePath 源图片路径 + 文件名(例 "D:\\image\\aa.jpg")* @param outFile ...

  7. 图片怎么压缩图片大小_图片的体积怎么压缩?这三种方法你会吗?

    图片是我们在工作中经常要使用到的东西,在平时使用图片的时候相信大家都遇到过由于系统限制图片大小导致自己的图片无法上传的情况,这时候就需要对图片进行压缩了,把图片的体积降低到符合系统要求的大小,然后再进 ...

  8. 怎么样调整图片大小?图片修改工具怎么用?

    怎么样调整图片大小?专业的图片修改工具可以节省很多时间,这里推荐使用压缩啦的图片改大小(在线修改图片尺寸大小工具-压缩图)功能,操作简单易上手,来看看怎么操作吧. 1.打开压缩图首页选择图片改大小. ...

  9. andriod studio怎么设置图片大小_Word图片大小总是对不齐,如何统一图片的大小位置,看一眼就会!...

    还在为图片大小位置不统一而发愁吗,这样做出来的word文档不美观图片看起来也是大小不一很不协调.今天就教大家几个简单的处理图片的办法,快来学习吧! 1. 修改图片默认环绕方式 大家在word中插入图片 ...

  10. android修改图片(修改图片大小,图片旋转,图片平移)

    有时我们需要在现实图片之前对图片的大小进行修改,或者对图片进行平移和旋转之后再显示出来,那就需要对图片进行修改 1.代码如下 iv = (ImageView) findViewById(R.id.iv ...

最新文章

  1. 一分钟详解鱼眼镜头标定基本原理及实现
  2. 大型Web应用的数据库设计与部署
  3. 关于AIX lv 4k offset问题初步了解
  4. 由mysql分区想到的分表分库的方案
  5. 每天定时查询CSDN博客访问量,并通过echarts进行展示
  6. non-aggregates cannot be initialized with initializer list
  7. vscode安装live server
  8. 香港中文大学(深圳)张大鹏教授访谈
  9. 《spring-boot学习》-14-spring boot整合freeMarker模板
  10. VB.NET 策略模式(下机用户类型选择)
  11. 在.NET 对XML的一些基本操作
  12. Applets 是什么 怎样使用 应用前景
  13. linux内核之进程调度
  14. oracle 写递归,请问一个递归sql的写法
  15. Excel中计算年龄的函数
  16. 数据库的基本结构三个层次
  17. 计算机机房kvm系统配件,KVM设备在机房管理改造中的解决方案
  18. docker镜像与容器基本的基本操作
  19. 操作系统的发展历史(综述性小论文)
  20. 深度学习使用sketch-code 草图、手稿自动生成HTML前端页面

热门文章

  1. 一种基于安卓系统的双屏异显技术的实现
  2. rust和gta5哪个吃配置_侠盗也要吃下鸡:《GTA Online》加入全新“大逃杀”模式
  3. 抖音AI特效火遍全网,真人秒变漫画形象!
  4. 易优cms 数据库连接失败,如何重新进行正确配置 Eyoucms快速入门
  5. 意式极简轻奢风格装修
  6. 阿里云、华为云、腾讯云的无声战役
  7. parasolid 原因 效率_20个solidworks常见问题及解决办法
  8. 【JAVA程序设计】(C00026)javaweb基于ssm的仓库管理系统——有文档
  9. Rete算法相关链接汇总
  10. 企业JUNIPER-SSG配置