问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

新手发问 怎么用java做出动图

发布网友 发布时间:2022-04-24 13:39

我来回答

2个回答

热心网友 时间:2023-10-14 19:06

package com.test;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;

public class MakeOver {

public static void main(String[] args) {

MakeOver mo = new MakeOver();
mo.CreateGIF("e:/pic/test.gif","e:/map.gif","e:/pic/",82,395);
//参数列表:输出图片地址,加水印的图片地址,动态图标地址,纵坐标,横坐标
//注意:此 e:/pic/ 目录下的文件如下 1.gif 2.gif 3.gif 。。。。
}

public void CreateGIF(String outputFileName,String path1,String path2,int height,int weidth){
try {
// 指定Frame的文件
AnimatedGifEncoder e = new AnimatedGifEncoder();
OutputStream os = new FileOutputStream(outputFileName); //输出图片
e.start(os);// 开始处理
e.setQuality(15); //设置图片质量
e.setRepeat(0); //设置循环
e.setDelay(500); // 设置延迟时间
MakeOver abc = new MakeOver(); //实例化图片合成类
String path3 = ""; //动态图片地址
for (int i = 1; i < 3; i++) { //此处只添加 2 张gif图片
path3 = path2 + i +".gif";
BufferedImage im = abc.pressImage(path3,path1, weidth, height);
e.addFrame(im);// 循环加入Frame
}
e.finish();

} catch (Exception e) {
System.out.println(e);
e.printStackTrace();
}
}

public BufferedImage pressImage(String pressImg,
String targetImg, int x, int y) {
try {
// 目标文件
File _file = new File(targetImg);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);

// 水印文件
File _filebiao = new File(pressImg);
Image src_biao = ImageIO.read(_filebiao);
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
g.drawImage(src_biao, x,
y, wideth_biao, height_biao, null);
// 水印文件结束
g.dispose();

return image;

} catch (Exception e) {
System.out.println(e);
e.printStackTrace();
}
return null;
}

}

热心网友 时间:2023-10-14 19:07

-.-测试题都发到百度来了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 java动态包含和静态包含的区别 请问关于JAVA动态的问题 为什么有人说Java是静态语言,又说Java语言是动态的? Java中动态静态怎么样理解 车空调怎么开? java动态生成方法 奔驰空调冷风怎么调? java动态创建中的动态是什么意思 java中的如何使物体动起来 Java的动态特性有哪些 车内空调怎么调 汽车怎么调空调 汽车空调温度怎么调? IT行业真的很赚钱? 西安IT行业薪资什么水平? 没注册过的家用电器品牌 西米要怎么做啊?有什么功效呢? IT行业干什么工资最高? 小西米的做法和功用是什么? it行业,最高薪水有多少? java中如何创建动态数组 Java动态数组代码是什么? 什么是java动态网页技术 怎么理解java动态绑定 java如何动态定义变量 Java是动态语言还是静态语言 java怎么动态更新? java 动态数组问题 关于java动态加载jar的问题? Java 动态数组 娃娃机夹娃娃有什么技巧么? QQ没绑亲密关系字符就只有五个吗? QQ字符有什么规律? qq字符cap属于哪种关系里? 怎样在QQ上看到Q名的全部字符啊 qq字符里面mojito是什么关系,怎么获得的? QQ里面的幸福字符是不是的要亲密关系才可以有颜色? 个人工作室工商注册流程是什么? 工商注册流程是什么? 绞肉机内部刀片怎么安装?