java实现多种幻灯片切换特效(经典,附源码)
2013-03-30 12:58
1051 查看
功能说明: 代码实现了多种幻灯片变换特效. 如:淡入淡出、缓慢覆盖、旋转覆盖等10多种变换效果。
在线运行:点此进入在线运行
功能实现:
1、图片加载类ImageLoader实现:
1)用阻塞队列存储要图片:BlockingQueue images = new ArrayBlockingQueue<>(2);
2)用图片eof表示图片队列结束:Image eof = new WritableImage(1, 1);
3)循环读取指定图片,由于是阻塞队列,所以当队列满的时候线程会自动阻塞.
2、特效实现 以弧形切换图片为例: 首先定义LengthTransition变化特效:设置变化时间,以及弧度数跟时间的变化关系。
然后设置图片层叠效果:
以及之前那张图片的淡出特效:
最后同时执行这两个特效:
效果图:
源码下载: 进入下载页面
在线运行:点此进入在线运行
功能实现:
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);
效果图:
源码下载: 进入下载页面
相关文章推荐
- java多种幻灯片切换特效(经典)
- 十大经典排序算法皇冠体育足球竞猜源码下载最强总结(含JAVA代码实现)
- 各大门户网站Flash和JS实现的图片幻灯片切换特效代码文件下载:
- Java实现递归经典案例――三角数字的多种实现方式
- Flash和JS实现的图片幻灯片切换特效
- 各大门户网站Flash和JS实现的图片幻灯片切换特效代码文件下载
- 再谈将C++语言源码转成html的方法(vim实现,可用于java,perl,python等等多种语言)
- jQuery插件slick实现响应式移动端幻灯片图片切换特效
- Java实现递归经典案例——三角数字的多种实现方式
- jquery多种特效切换的幻灯片
- 经典代码收藏之——百叶窗特效的Java实现
- Flash和JS实现的图片幻灯片切换特效
- Java实现临界区:经典并发控制回顾
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框 【不定期更新】
- 多种负载均衡算法及其Java代码实现
- Java 自定义注解 源码实现
- SwitchButton 开关按钮 的多种实现方式 (附源码DEMO)
- 生产者/消费者问题的多种Java实现方式
- java中使用线程实现Timer(定时器)原理和源码
- 【内部排序】三:希尔排序(Shell Sort)的多种实现(不断优化+源码)