由于微信发图片有大小限制,用Photoshop转换倒是可以做到把图片缩小,但操作起来比较麻烦,所以自己动手用Java写了个小程序,以减少帧数的方式把动态图片压缩,这方法适用于帧数比较多的gif图片。
在写这个程序之前百度过能完成编辑图片的几个比较有名的Java库,最终使用了Gif4J,感觉这个比较简单,下面是目录结构
因为是即兴之作,所以也命名方式不够严谨,请见谅,源码可以在本人的github上面下载https://github.com/yesqwang/GitEditor.git
UI及程序入口代码 MainUI.java
package gif.ui;
import gif.function.Edit;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileFilter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class MainUI extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
JTextField path;
JLabel label_path;
JButton edit;
JTextArea area;
JScrollPane pane;
public MainUI() {
super("GIF图片压缩器");
init();
}
/**
* 初始化界面
*/
private void init() {
path = new JTextField(20);
label_path = new JLabel("图片所在文件夹路径