java jimi_Java开源工具Jimi处理图片大小及格式转换
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处理图片大小及格式转换相关推荐
- 工具类涉及数据库连接、格式转换、文件操作、发送邮件等等
工具类涉及数据库连接.格式转换.文件操作.发送邮件等等 数据库连接工具类 数据库连接工具类--仅仅获得连接对象 ConnDB.java import java.sql.Connection; impo ...
- java获取时分秒毫秒_java实现时间格式转换(int整数类型的秒/毫秒---时分秒毫秒)...
1. 直接上干货:(可提取为工具类收藏哦 ^_^) package com.drew.utils; import java.text.SimpleDateFormat; import java.uti ...
- java date 转integer_java 中Date的各种格式转换
把java.util.Date格式的时间转为java.sql.Date格式的时间 java.sql.Date sqldate = new java.sql.Date(date.getTime()); ...
- java输出格林威治时间_Java之格林威治时间格式转换成北京时间格式
Java之格林威治时间格式转换成北京时间格式 /** * Copyright 2020. yaodouwang.com Studio All Right Reserved * * Create on ...
- java 微信小程序 语音识别成文字 音频格式转换 silk pcm wav
最近有需求要把微信小程序里面的语音进行语音识别,然后搜搜,微信小程序的语音格式是silk 1.上传silk文件 2.下载silk-v3-decoder,通过名称把silk转换成讯飞可识别的wav文件 ...
- 【PC工具】更新整理在线格式转换工具:在线智能抠图工具,在线视频、图片、音频等转换工具,绿色免安装抠图神奇抠图工具...
今天分享两款简单粗暴的工具软件,在线工具,不用安装,只需收藏. gaoding在线智能抠图工具 cloudconvert在线格式转换 https://cloudconvert.com/pages-to ...
- linux自带图片转换命令,Linux 命令行处理图片(图片格式转换、缩放、旋转等)...
命令可以在"开始→运行"的文本框中,也可以事先在bat批处理文档中编写好命令.未带任何参数是注册dll文件功能,其它参数对应功能如下:.linux提供了tee命令用于完成上述程序的 ...
- 【Java】开源工具 Hutool 不糊涂
官网 https://www.hutool.cn/docs/#/ http://hutool.mydoc.io/#category_76195 Hutool不糊涂(一) Hutool不糊涂(二)
- java silk转mp3,小程序录音后格式转换问题请教
23 回复 我也大概知道是这玩意,但是java代码不太会搞.... 大叔啊,有没有直接的java代码啊,我自己写了但是出了好多问题,不知道如何是好啊....冒昧问下nutz提供转码工具类么...如果没 ...
- Linux 命令行处理图片(图片格式转换、缩放、旋转等)
Centos OS 中默认安装了 ImageMagick,ImageMagick 是一系列的用于修改.加工图像的命令行工具.ImageMagick 功能十分强大,本博文主要介绍自己在做实验过程中用得比 ...
最新文章
- zTree实现单独选中根节点中第一个节点
- Odoo 菜单美化的扩展模块
- Spring Boot 配置文件 yml与properties
- python编写格斗游戏_C语言实现的开源 2D 格斗游戏: Punch Kick
- 计算机中汉字用什么表示什么,在计算机中汉字是用几个字节表示
- elasticsearch的javaAPI之query
- 20155313 杨瀚 《网络对抗技术》实验七 网络欺诈防范
- outlook服务器上修改文件保存,邮件附件中的文档修改后保存在哪
- 世界由物质、能量、信息
- [T00ls]DEDECMS 0DAY
- 6个月融资超50亿元,云计算创业团队正做得风生水起?
- pytest告警信息的处理方法
- html表格筛选,js实现表格筛选功能
- 大数据如何给运营做支撑
- [ linux ] linux 命令英文全称及解释
- 17.窗口里有一个标志,鼠标进入时显示欢迎光临
- zblog php视频教程,ZBlog使用教程:ZBlogPHP基本设置和后台管理
- 4.2寻找水仙花数(阿姆斯特朗数)、完美数,生成斐波那契数列,Craps赌博游戏
- 分布式光伏储能需求海外已显现
- python入门课程-最好的Python入门教程是?
热门文章
- 学专业计算机的配置,大学学计算机专业的学生电脑普遍配置是什么呢?
- vue中基础理论知识
- 教你如何在word中像LaTex那样打公式
- 引用第三方SDK产生依赖冲突
- Elastic 7.9 版本发布,提供免费的 Workplace Search 和终端安全功能
- php使用二进制判断图片(或文件)真实类型(可判断远程图片)
- Python调用腾讯API实现人脸检测
- 处理System.IO.Ports未能找到类型或命名空间名
- 申请免费域名、配置域名以及https证书设置
- WIN32 获取programdata等指定的系统目录的路径