Java开源工具Jimi处理图片大小及格式转换

做图片转换,用了java的开源软件jimi图片处理工具,编写了一个图片转换工具类,包括了给图片打水印,给大家分享。

import java.awt.Image;

import java.awt.image.BufferedImage;

import java.awt.image.ImageProducer;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

import com.sun.jimi.core.Jimi;

import com.sun.jimi.core.JimiException;

import com.sun.jimi.core.JimiWriter;

import com.sun.jimi.core.options.JPGOptions;

public class TransferPicture {

/**

* @param source

* @param dest

* @param quality

* 图片格式转换

*/

public void toJPG(String source, String type, int quality) {

//0if (quality < 0 || quality > 100 || (quality + "") == null || (quality + "").equals("")) {

System.out.println("quality must between ’0’ and ’100’");

System.out.println("set to DEFAULT value:’75’");

quality = 75;

}

String outfile = ConvertUtil.getFilename(source)+type;

try {

JPGOptions options = new JPGOptions();

options.setQuality(quality);

ImageProducer image = Jimi.getImageProducer(source);

JimiWriter writer = Jimi.createJimiWriter(outfile);

writer.setSource(image);

// 加入属性设置,非必要

// /*

writer.setOptions(options);

// */

writer.putImage(outfile);

} catch (JimiException je) {

System.err.println("Error: " + je);

}

}

/**

* @param source

* @param dest

* @throws JimiException

*/

public void toGIF(String source, String dest) throws JimiException {

if (dest == null || dest.trim().equals(""))

dest = source;

// 1:转换为jpg

if (!dest.toLowerCase().trim().endsWith("jpg")) {

dest += ".jpg";

}

toJPG(source, dest, 75);

BufferedImage file_in = null;

File file = new File(dest);

try {

file_in = javax.imageio.ImageIO.read(file);

} catch (Exception e) {

e.printStackTrace();

}

int end = http://www.doczj.com/doc/052faa22ccbff121dd36838a.htmlstIndexOf(".");

file.deleteOnExit();

// output *.gif

file.renameTo(new File(dest.substring(0, end) + ".gif"));

// jpg to gif

AnimatedGifEncoder e = new AnimatedGifEncoder();

e.start(dest);

e.addFrame(file_in);

e.finish();

/*

//分解GIF:

GifDecoder d = new GifDecoder();

d.read("sample.gif");

int n = d.getFrameCount();

for(int i = 0; i < n; i++) {

BufferedImage frame = d.getFrame(i); // frame i

int t = d.getDelay(i); // display duration of frame in milliseconds

// do something with frame

}

//合成GIF:

AnimatedGifEncoder e = new AnimatedGifEncoder();

e.start(outputFileName);

e.setDelay(1000); // 1 frame per sec

e.addFrame(image1);

e.addFrame(image2);

e.finish();

*/

}

/**

* @param img

* @param dest

* @throws JimiException

*/

public void toTIF(Image img, String dest) throws JimiException {

if (!dest.t

java jimi_Java开源工具Jimi处理图片大小及格式转换相关推荐

  1. 工具类涉及数据库连接、格式转换、文件操作、发送邮件等等

    工具类涉及数据库连接.格式转换.文件操作.发送邮件等等 数据库连接工具类 数据库连接工具类--仅仅获得连接对象 ConnDB.java import java.sql.Connection; impo ...

  2. java获取时分秒毫秒_java实现时间格式转换(int整数类型的秒/毫秒---时分秒毫秒)...

    1. 直接上干货:(可提取为工具类收藏哦 ^_^) package com.drew.utils; import java.text.SimpleDateFormat; import java.uti ...

  3. java date 转integer_java 中Date的各种格式转换

    把java.util.Date格式的时间转为java.sql.Date格式的时间 java.sql.Date sqldate = new java.sql.Date(date.getTime()); ...

  4. java输出格林威治时间_Java之格林威治时间格式转换成北京时间格式

    Java之格林威治时间格式转换成北京时间格式 /** * Copyright 2020. yaodouwang.com Studio All Right Reserved * * Create on ...

  5. java 微信小程序 语音识别成文字 音频格式转换 silk pcm wav

    最近有需求要把微信小程序里面的语音进行语音识别,然后搜搜,微信小程序的语音格式是silk 1.上传silk文件 2.下载silk-v3-decoder,通过名称把silk转换成讯飞可识别的wav文件 ...

  6. 【PC工具】更新整理在线格式转换工具:在线智能抠图工具,在线视频、图片、音频等转换工具,绿色免安装抠图神奇抠图工具...

    今天分享两款简单粗暴的工具软件,在线工具,不用安装,只需收藏. gaoding在线智能抠图工具 cloudconvert在线格式转换 https://cloudconvert.com/pages-to ...

  7. linux自带图片转换命令,Linux 命令行处理图片(图片格式转换、缩放、旋转等)...

    命令可以在"开始→运行"的文本框中,也可以事先在bat批处理文档中编写好命令.未带任何参数是注册dll文件功能,其它参数对应功能如下:.linux提供了tee命令用于完成上述程序的 ...

  8. 【Java】开源工具 Hutool 不糊涂

    官网 https://www.hutool.cn/docs/#/ http://hutool.mydoc.io/#category_76195 Hutool不糊涂(一) Hutool不糊涂(二)

  9. java silk转mp3,小程序录音后格式转换问题请教

    23 回复 我也大概知道是这玩意,但是java代码不太会搞.... 大叔啊,有没有直接的java代码啊,我自己写了但是出了好多问题,不知道如何是好啊....冒昧问下nutz提供转码工具类么...如果没 ...

  10. Linux 命令行处理图片(图片格式转换、缩放、旋转等)

    Centos OS 中默认安装了 ImageMagick,ImageMagick 是一系列的用于修改.加工图像的命令行工具.ImageMagick 功能十分强大,本博文主要介绍自己在做实验过程中用得比 ...

最新文章

  1. zTree实现单独选中根节点中第一个节点
  2. Odoo 菜单美化的扩展模块
  3. Spring Boot 配置文件 yml与properties
  4. python编写格斗游戏_C语言实现的开源 2D 格斗游戏: Punch Kick
  5. 计算机中汉字用什么表示什么,在计算机中汉字是用几个字节表示
  6. elasticsearch的javaAPI之query
  7. 20155313 杨瀚 《网络对抗技术》实验七 网络欺诈防范
  8. outlook服务器上修改文件保存,邮件附件中的文档修改后保存在哪
  9. 世界由物质、能量、信息
  10. [T00ls]DEDECMS 0DAY
  11. 6个月融资超50亿元,云计算创业团队正做得风生水起?
  12. pytest告警信息的处理方法
  13. html表格筛选,js实现表格筛选功能
  14. 大数据如何给运营做支撑
  15. [ linux ] linux 命令英文全称及解释
  16. 17.窗口里有一个标志,鼠标进入时显示欢迎光临
  17. zblog php视频教程,ZBlog使用教程:ZBlogPHP基本设置和后台管理
  18. 4.2寻找水仙花数(阿姆斯特朗数)、完美数,生成斐波那契数列,Craps赌博游戏
  19. 分布式光伏储能需求海外已显现
  20. python入门课程-最好的Python入门教程是?

热门文章

  1. 学专业计算机的配置,大学学计算机专业的学生电脑普遍配置是什么呢?
  2. vue中基础理论知识
  3. 教你如何在word中像LaTex那样打公式
  4. 引用第三方SDK产生依赖冲突
  5. Elastic 7.9 版本发布,提供免费的 Workplace Search 和终端安全功能
  6. php使用二进制判断图片(或文件)真实类型(可判断远程图片)
  7. Python调用腾讯API实现人脸检测
  8. 处理System.IO.Ports未能找到类型或命名空间名
  9. 申请免费域名、配置域名以及https证书设置
  10. WIN32 获取programdata等指定的系统目录的路径