国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 栾川县| 上林县| 津市市| 隆化县| 上栗县| 灵寿县| 临清市| 诸城市| 孝感市| 荔浦县| 大石桥市| 顺昌县| 昌吉市| 巴青县| 瑞安市| 德江县| 扎兰屯市| 板桥市| 马关县| 宜春市| 正蓝旗| 晴隆县| 托克托县| 吴川市| 辰溪县| 中牟县| 社会| 承德县| 德保县| 阿荣旗| 河东区| 弋阳县| 黄梅县| 东乌珠穆沁旗| 鄂伦春自治旗| 南开区| 长武县| 泰和县| 乳山市| 西城区| 化隆|