项目中有时候需要对图片进行DPI、合并、拼接等的处理:

package com.snow.web.a_test;import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;import javax.imageio.ImageIO;import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;public class Test {private static String path = "F:\\";public static void main(String[] args) throws Exception {System.out.println("=======================================");
//        String path = "F:\\test.jpg";
//      File files = new File(path);
//      handleDpi(files, 300, 300); //        String path = "F:\\";  File file1 = new File(path, "1.jpg");  File file2 = new File(path, "2.png");
//        mosaicImage(file1, file2);
        mergeImage(file1, file2); }/** * 改变图片DPI * * @param file * @param xDensity * @param yDensity * @throws ImageReadException */  public static void handleDpi(File file, int xDensity, int yDensity){  try {  BufferedImage image = ImageIO.read(file);  JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(new FileOutputStream(file));  JPEGEncodeParam jpegEncodeParam = jpegEncoder.getDefaultJPEGEncodeParam(image);  jpegEncodeParam.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);  jpegEncoder.setJPEGEncodeParam(jpegEncodeParam);  jpegEncodeParam.setQuality(0.75f, false);  jpegEncodeParam.setXDensity(xDensity);  jpegEncodeParam.setYDensity(yDensity);  jpegEncoder.encode(image, jpegEncodeParam);  image.flush();  } catch (IOException e) {  e.printStackTrace();  }  } /*** 图片拼接* @param file1 左边* @param file2    右边* @throws IOException*/public static void mosaicImage(File file1, File file2) throws IOException {        BufferedImage image1 = ImageIO.read(file1);  BufferedImage image2 = ImageIO.read(file2);  BufferedImage combined = new BufferedImage(image1.getWidth() * 2, image1.getHeight(), BufferedImage.TYPE_INT_RGB);  // paint both images, preserving the alpha channels  Graphics g = combined.getGraphics();  g.drawImage(image1, 0, 0, null);  g.drawImage(image2, image1.getWidth(), 0, null);  // Save as new image  ImageIO.write(combined, "JPG", new File(path, "3.jpg"));  }  /*** 图片合并* @param file1 左边* @param file2    右边* @throws IOException*/public static void mergeImage(File file1, File file2) throws IOException {        BufferedImage image1 = ImageIO.read(file1);  BufferedImage image2 = ImageIO.read(file2);  BufferedImage combined = new BufferedImage(image1.getWidth(), image1.getHeight(), BufferedImage.TYPE_INT_RGB);  // paint both images, preserving the alpha channels  Graphics g = combined.getGraphics();  System.out.println(image2.getData());g.drawImage(image1, 0, 0, null);  g.drawImage(image2, 0, 0, image1.getWidth(), image1.getHeight(), null);  // Save as new image  ImageIO.write(combined, "JPG", new File(path, "4.jpg"));  }  }

使用Java合并图片、修改DPI相关推荐

  1. java指定图片的dpi和存储大小kb

    java指定图片的dpi和存储大小kb google图片处理插件 java代码(只需要修改下文件路径往里面存图片就行了) 参考文章 公司需求,将文件夹下面的所有图片dpi设置为300,存储大小为90到 ...

  2. 什么是DPI?如何给图片修改DPI?

    平时在工作生活当中,图片是大家必不可少的东西,那么在平时使用图片的时候,经常会遇到一种参数叫DPI,那么什么是图片的DPI呢?图片DPI也可以叫做图片分辨率,一般指的是图像每英寸长度内的像素点数,一般 ...

  3. java 改变图片的DPI

    代码如下: public class test01 {private static int DPI = 300;public static void main(String[] args){Strin ...

  4. 如何修改图片的dpi?图片怎么调dpi?

    有没有好用的图片修改dpi工具(dpi修改工具_手机图片修改分辨率-压缩啦)?推荐压缩啦的图片修改dpi功能,使用浏览器就可以在线修改图片dpi,一起来看看具体步骤吧. 1.用手机.电脑浏览器打开压缩 ...

  5. Java 常用图片处理合集

    Java 常用图片处理合集 JDK类库创建一张简单图片 辨别图片类型 判断文件是否为图片格式 java加水印 JDK类库裁剪图片 Java合并图片 Java修改图片格式 Java修改图片尺寸 Java ...

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

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

  7. 如何修改图片的dpi?图片的dpi怎么调?

    大家在日常工作中使用图片的时候有没有遇到过需要调整图片dpi的情况呢?大家在遇到这种情况时候都是怎么办的呢?下面小编为大家推荐一款图片dpi修改器(https://www.yasuotu.com/dp ...

  8. 多张图片怎么同时修改dpi?教你一键批量修改图片dpi

    当我们需要修改图片dpi时,图片又比较多一张一张的修改费时又费力的.那么有没有什么办法可以批量修改图片dpi呢?这个时候我推荐大家使用图片dpi批量修改(https://www.yasuotu.com ...

  9. 怎么改变图片的dpi的大小?如何修改照片dpi值?

    ​考试报名平台在上传照片时,最麻烦的就是需要图片dpi修改,下面就给大家分享一个在线修改分辨率的方法,使用压缩啦的图片dpi修改工具,一键修改非常简单. 1.选择压缩啦网站中的修改分辨率工具. 2.上 ...

最新文章

  1. 【目标检测】(6) YOLOV2 目标检测在V1基础上的改进
  2. 深度学习领域四个不可不知的重大突破
  3. python 的类装饰器
  4. linux进入文件全文搜索命令,Linux 文件查找命令详解
  5. tcpdump抓包最常用的命令
  6. 海豚浏览器历年笔试题
  7. CodeProject上的两个简单绘图程序
  8. 《机器视觉算法与应用》第3章 机器视觉算法之模板匹配——学习笔记
  9. 创建FB-定义接口(基础版)
  10. 大话主流分布式文件系统!
  11. 如何解包编译重新打包boot.img System.img(转自百度文库)
  12. 华为云数据中心建设全面复工进行中,预计2021年投入使用
  13. 服务器系统安装蓝牙驱动,安装蓝牙设备 - Windows drivers | Microsoft Docs
  14. 使用Wake On Lan远程唤醒
  15. 【shaderforge小实例】 轮廓内发光
  16. vista主机故障_Vista RC1安装日记-将我的主机升级到Windows Vista RC1
  17. win10 自带截图工具 SnippingTool
  18. 上海社科院:沪30岁以下青年购房压力
  19. 短语a slap on the wrist
  20. python怎么读取excel文件-Python读写Excel文件方法介绍

热门文章

  1. 《现代教育技术》Win8版发布 项目总结
  2. GIF动画 汇总帖子+实例
  3. HDU 1847 Good Luck in CET-4 Everybody!(组合博弈)
  4. 2019.4.26学习笔记(路由器router)
  5. ONES 万事联合创始人 amp; CTO 冯斌:企业服务产品的探索实践
  6. SQLAdvisor美团SQL索引优化建议工具
  7. 【DataBase】【SQL语言】【第三天】
  8. Linux 编辑器——上古神器vim
  9. 系统linux/redhat6.5 zabbix 2.47监控nginx1.8.0 (下)
  10. SQL Server游标的使用【转】