java多种幻灯片切换特效(经典)
时间:2022-08-05 23:18:22
功能实现:
1、图片加载类ImageLoader实现:
1)用阻塞队列存储要图片:BlockingQueue images = new ArrayBlockingQueue<>(2);
2)用图片eof表示图片队列结束:Image eof = new WritableImage(1, 1);
3)循环读取指定图片,由于是阻塞队列,所以当队列满的时候线程会自动阻塞.
public void run() {
int id = 0;
try {
while (true) {
String path = resources[id];
InputStream is = getClass().getResourceAsStream(path);
if (is != null) {
Image image = new Image(is, width, height, true, true);
if (!image.isError()) {
images.put(image);
}
}
id++;
if (id >= resources.length) {
id = 0;
}
}
} catch (Exception e) {
} finally {
if (!cancelled) {
try {
images.put(eof);
} catch (InterruptedException e) {
}
}
}
}
2、特效实现 以弧形切换图片为例: 首先定义LengthTransition变化特效:设置变化时间,以及弧度数跟时间的变化关系。
class LengthTransition extends Transition {
Arc arc;
public LengthTransition(Duration d, Arc arc) {
this.arc = arc;
setCycleDuration(d);
}
@Override
protected void interpolate(double d) {
arc.setLength(d * 360);
}
}
然后设置图片层叠效果:
group.setBlendMode(BlendMode.SRC_OVER);
next.setBlendMode(BlendMode.SRC_ATOP);
以及之前那张图片的淡出特效:
FadeTransition ft = new FadeTransition(Duration.seconds(0.2), mask2);
最后同时执行这两个特效:
ParallelTransition pt = new ParallelTransition(lt, ft);
效果图:
标签:切换,特效
0
投稿
猜你喜欢
jsp如何获取Session中的值
2023-07-01 05:59:28
Android使用开源框架Fresco处理图片
2022-01-24 09:30:08
基于Java实现Json文件转换为Excel文件
2022-08-04 23:53:15
OpenJDK源码调试图文教程
2022-09-26 01:40:25
C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)
2021-11-23 05:37:26
Spring实战之Bean定义中的SpEL表达式语言支持操作示例
2021-07-07 10:46:19
SpringBoot集成EasyExcel的步骤
2023-07-19 09:59:17
android开发之为activity增加左右手势识别示例
2021-09-30 12:41:50
用Android studio实现简易计算器功能
2021-07-31 21:06:13
java实现PPT转化为PDF
2021-06-17 05:02:24
Android编程实现将压缩数据库文件拷贝到安装目录的方法
2022-06-18 16:06:56
Spring Bean实例的创建及构造器的挑选
2021-08-02 09:35:57
详解springboot集成mybatis xml方式
2022-08-05 09:04:54
Avalonia封装实现指定组件允许拖动的工具类
2023-01-01 19:03:03
在RecyclerView中实现button的跳转功能
2023-06-17 20:21:14
Kotlin 高阶函数与Lambda表达式示例详解
2021-06-18 08:58:15
使用idea创建web框架和配置struts的方法详解
2022-11-14 14:21:52
TextView显示系统时间(时钟功能带秒针变化
2022-04-23 08:07:37
Android开发新手常见的10个误区
2021-07-30 02:14:10
Maven默认中央仓库(settings.xml 配置详解)
2021-10-17 12:25:40