java多种幻灯片切换特效(经典)
程序员文章站
2023-12-12 18:12:04
功能实现:
1、图片加载类imageloader实现:
1)用阻塞队列存储要图片:blockingqueue images = new arrayblockingque...
功能实现:
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多种幻灯片切换特效(经典)
-
基于html5+css3特效可配制图片幻灯片切换代码_html/css_WEB-ITnose
-
基于jquery编写的横向自适应幻灯片切换特效的实例代码_jquery
-
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)_jquery
-
基于jquery编写的横向自适应幻灯片切换特效的实例代码_jquery
-
基于html5+css3特效可配制图片幻灯片切换代码_html/css_WEB-ITnose
-
jQuery插件slick实现响应式移动端幻灯片图片切换特效_jquery
-
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)_jquery
-
jQuery插件slick实现响应式移动端幻灯片图片切换特效_jquery