在线报名 | 加入收藏 | 学校地图

电话:400-0379-707 QQ:710034203

首页 > 学习园地 > Java学习 > 正文阅读

Java实现多种幻灯片切换特效

发布时间:2013-06-06 16:43:01 点击:0
洛阳北大青鸟导读:功能说明: 代码实现了多种幻灯片变换特效. 如:淡入淡出、缓慢覆盖、旋转覆盖等10多种变换效果。功能实现:1、图片加载类ImageLoader实现:1)用阻塞队列存储要图片:BlockingQueue images = new ArrayBlocki...

 

功能说明: 代码实现了多种幻灯片变换特效. 如:淡入淡出、缓慢覆盖、旋转覆盖等10多种变换效果。

功能实现:

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);

热词搜索:
分享该网页到:   转播到腾讯微博  分享到QQ空间
  • ①理论课
  • ②上机课
  • ③职业导向训练(COT)
  • ④指导学习课(DLC)
  • ⑤项目案例课
  • ⑥在线培训课(OLTL)
  • ⑦阶段项目课
  • ⑧毕业设计课
人才招聘 | 视频专区 | 专题活动 | 认证查询 | 网站地图