java中图片格式转换

来源:互联网 发布:java读取配置文件参数 编辑:程序博客网 时间:2024/05/29 06:58
package test;import java.awt.Graphics;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import javax.imageio.ImageIO;/** * 图片基本操作 */public class ImageEncoderService {    private static ImageEncoderService instance;    private ImageEncoderService() {        instance = this;    }    public static ImageEncoderService getInstance() {        if (instance == null) {            instance = new ImageEncoderService();        }        return instance;    }    /**     * 缩小并转换格式     *      * @param srcPath源路径     * @param destPath目标路径     * @param height目标高     * @param width     *            目标宽     * @param formate     *            文件格式     * @return     */    public boolean narrowAndFormateTransfer(String srcPath, String destPath, int height, int width, String formate) {        boolean flag = false;        try {            File file = new File(srcPath);            File destFile = new File(destPath);            if (!destFile.getParentFile().exists()) {                destFile.getParentFile().mkdir();            }            BufferedImage src = ImageIO.read(file); // 读入文件            Image image = src.getScaledInstance(width, height, Image.SCALE_DEFAULT);            BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);            Graphics g = tag.getGraphics();            g.drawImage(image, 0, 0, null); // 绘制缩小后的图            g.dispose();            flag = ImageIO.write(tag, formate, new FileOutputStream(destFile));// 输出到文件流        } catch (IOException e) {            e.printStackTrace();        }        return flag;    }    public static void main(String[] args) {        try {            ImageEncoderService service = new ImageEncoderService();            boolean flag = service.narrowAndFormateTransfer("E:\\我的图片/雨伞.jpg", "E:\\我的图片/雨伞.png", 400, 400, "png");            System.out.println(flag);        } catch (Exception e) {            System.out.println(e);        }    }}
0 0
原创粉丝点击