博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Java合并图片、修改DPI
阅读量:5096 次
发布时间:2019-06-13

本文共 3431 字,大约阅读时间需要 11 分钟。

项目中有时候需要对图片进行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"));      }      }

 

转载于:https://www.cnblogs.com/chen-lhx/p/8547304.html

你可能感兴趣的文章
二叉树的前序遍历
查看>>
Error: “app_name” is not translated in af
查看>>
EF 资料
查看>>
niceScroll 简单使用 及 插件API
查看>>
使用pip安装python插件的时候出现Microsoft Visual C++ 9.0缺失错误
查看>>
FindWindow 两程序通信 TCopyDataStruct
查看>>
MySQL对表数据操作
查看>>
Python中对矩阵的洗牌操作
查看>>
Lagom学习 (三)
查看>>
H3C 网络号和主机号
查看>>
ios5 新增功能
查看>>
Android View坐标getLeft, getRight, getTop, getBottom
查看>>
奇异值分解(SVD)原理详解及推导
查看>>
关于Android Studio开发环境变量的设置(avd启动黑屏)
查看>>
可视化之Earth NullSchool
查看>>
NeHe OpenGL教程 第十八课:二次几何体
查看>>
C# chart控件绘制曲线
查看>>
C#得到CPU的序列号、硬盘序列号、网卡序列号
查看>>
MVC4 jquery 样式 主题 用法(案例)
查看>>
MySQL用户远程登陆
查看>>