国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java多種幻燈片切換特效(經(jīng)典)

2019-11-26 16:12:55
字體:
供稿:網(wǎng)友

功能實(shí)現(xiàn):

1、圖片加載類ImageLoader實(shí)現(xiàn):

1)用阻塞隊(duì)列存儲要圖片:BlockingQueue images = new ArrayBlockingQueue<>(2);

2)用圖片eof表示圖片隊(duì)列結(jié)束:Image eof = new WritableImage(1, 1);

3)循環(huán)讀取指定圖片,由于是阻塞隊(duì)列,所以當(dāng)隊(duì)列滿的時(shí)候線程會(huì)自動(dòng)阻塞.

復(fù)制代碼 代碼如下:

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、特效實(shí)現(xiàn) 以弧形切換圖片為例: 首先定義LengthTransition變化特效:設(shè)置變化時(shí)間,以及弧度數(shù)跟時(shí)間的變化關(guān)系。

復(fù)制代碼 代碼如下:

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

 然后設(shè)置圖片層疊效果:

復(fù)制代碼 代碼如下:

group.setBlendMode(BlendMode.SRC_OVER);
next.setBlendMode(BlendMode.SRC_ATOP);
 以及之前那張圖片的淡出特效:

FadeTransition ft = new FadeTransition(Duration.seconds(0.2), mask2);
 最后同時(shí)執(zhí)行這兩個(gè)特效:

ParallelTransition pt = new ParallelTransition(lt, ft);

 效果圖:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 通河县| 镇康县| 环江| 曲松县| 民乐县| 濮阳市| 蒲江县| 云南省| 上饶县| 饶平县| 烟台市| 和田市| 常山县| 东阿县| 乌海市| 平昌县| 许昌市| 蒙山县| 丽水市| 元氏县| 冕宁县| 抚顺县| 西藏| 察隅县| 盐池县| 宁乡县| 旺苍县| 宁阳县| 阳新县| 纳雍县| 东阿县| 湖口县| 辉县市| 兴山县| 崇礼县| 兴海县| 石楼县| 康定县| 高邮市| 湖北省| 丹阳市|