欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

基于HTML5的WebGL如何實(shí)現(xiàn)json和echarts圖表展現(xiàn)在同一個界面

這篇文章主要介紹了基于HTML5的WebGL如何實(shí)現(xiàn)json和echarts圖表展現(xiàn)在同一個界面,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、龍灣ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的龍灣網(wǎng)站制作公司

先來看看效果圖:

基于HTML5的WebGL如何實(shí)現(xiàn)json和echarts圖表展現(xiàn)在同一個界面

這個例子最基礎(chǔ)的就是最外層的盒子了,所以我們先來看看如何實(shí)現(xiàn)它:

 var box = new ht.CSGBox();
 dataModel.add(box);

用HT可以很輕易地實(shí)現(xiàn)這個盒子,在HT中封裝了很多基礎(chǔ)圖元類型,我們經(jīng)常用到的ht.Node也是其中一個,這樣我們可以不用反復(fù)地寫相同的代碼來完成基礎(chǔ)的實(shí)現(xiàn)。

這個例子中用的封裝好的基礎(chǔ)圖元是ht.CSGBox,一個盒子模型,可以參考HT for Web 建模手冊,我們在手冊中可以看到,在CSGBox中我們只能操作這個盒子的各個面,如果你想要自己設(shè)置一些特殊的功能,只需要操作ht.Style(HT for Web 風(fēng)格手冊)即可。

要想實(shí)現(xiàn)在盒子上的一個面上添加貼圖,我能想到的只有HT封裝的ht.Default.setImage函數(shù)了。

這邊我實(shí)現(xiàn)的方法是參考HT的editor來運(yùn)作的,重新聲明一個graphview組件和一個datamodel數(shù)據(jù)模型,然后通過ht.Default.xhrLoad方法調(diào)用json,在方法中用ht.Default.parse將text轉(zhuǎn)成json格式,然后反序列化將json里面的內(nèi)容展現(xiàn)成可視化的界面,再設(shè)置動畫,再立即刷新用到這個json的界面,否則就算設(shè)置了動畫,畫面也不會改變。

ht.Default.xhrLoad('displays/demo/pump.json', function(text){
    const json = ht.Default.parse(text);
    pumpDM.deserialize(json);
    var currentRotation = 0;
    var lastTime = new Date().getTime();
    setInterval(function(){
        var time = new Date().getTime();
        var deltaTime = time - lastTime;
        currentRotation += deltaTime * Math.PI / 180 * 0.3;
        lastTime = time;
        pumpDM.getDataByTag('fan1').setRotation(currentRotation);
        pumpDM.getDataByTag('fan2').setRotation(currentRotation);
        box.iv();
        // g3d.iv();這邊也可以刷新g3d,但是局部刷新更省
        pumpGV.validateImpl();
    }, 10);
}, 10);

這個時候我不能把pumpGV和g3d都加到底層div上,并且我的意圖是把pumpGV加到g3d中的CSGBox中的一面上,所以為了讓pumpGV顯示出來 必須設(shè)置pumpGV的寬高,而這個寬高必須比我json畫出來的圖占的面積要大,不然顯示不完整。如果想看這個寬高對顯示的影響,可以自己改改看來玩玩。

 pumpGV.getWidth = function() { return 600;}
 pumpGV.getHeight = function(){ return 600;}
 pumpGV.getCanvas().dynamic = true;//設(shè)置這個是為了讓canvas能動態(tài)顯示

echarts圖表的顯示也是很基礎(chǔ)的,只要再加上 canvas.dynamic = true,并且實(shí)時刷新gv即可。

最后,只需要將這兩個回傳的canvas傳入ht.Default.setImage中即可:

 ht.Default.setImage('echart', charts(option));
 ht.Default.setImage('pump', pumpGV.getCanvas());

ht.Default.drawImage函數(shù)生成新的圖實(shí)際上就是在canvas上畫圖,所以我們只要把我們已經(jīng)畫好的canvas傳到ht.Default.setImage就可以生成圖片了。

有一點(diǎn)需要改進(jìn)的,我們可以看到盒子上的線段,圖形,文字周邊都有一圈的鋸齒,因?yàn)槲覀冊谠O(shè)置字體時,同時設(shè)置了半透明,在處于半透明的情況下“blend”樣式會被關(guān)閉,這個時候我們就沒法控制樣式了,一般有透明度的時候需要將“all.transparent”設(shè)置為true,

我們可以設(shè)置需要顯示的面的transparent: true即可??聪峦瓿珊蟮男Ч麍D:

基于HTML5的WebGL如何實(shí)現(xiàn)json和echarts圖表展現(xiàn)在同一個界面

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“基于HTML5的WebGL如何實(shí)現(xiàn)json和echarts圖表展現(xiàn)在同一個界面”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

分享題目:基于HTML5的WebGL如何實(shí)現(xiàn)json和echarts圖表展現(xiàn)在同一個界面
當(dāng)前鏈接:http://chinadenli.net/article34/gphipe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、手機(jī)網(wǎng)站建設(shè)、服務(wù)器托管、全網(wǎng)營銷推廣、面包屑導(dǎo)航、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
伊人欧美一区二区三区| 国产免费自拍黄片免费看| 日本一品道在线免费观看| 亚洲欧美天堂精品在线| 欧美在线观看视频免费不卡| 黑色丝袜脚足国产一区二区| 国产在线不卡中文字幕| 中文字幕在线区中文色| 东京热男人的天堂一二三区| 大香蕉再在线大香蕉再在线| 日本二区三区在线播放| 日韩欧美亚洲综合在线| 国产伦精品一区二区三区精品视频| 国产一区二区三区不卡| 91午夜少妇极品福利| 亚洲国产成人一区二区在线观看| 婷婷色香五月综合激激情| 丁香六月婷婷基地伊人| 亚洲一区二区精品国产av| 九九热这里只有精品哦| 果冻传媒在线观看免费高清| 91精品国产综合久久不卡| 亚洲国产成人爱av在线播放下载 | 国内精品美女福利av在线| 免费性欧美重口味黄色| 福利视频一区二区在线| 欧美野外在线刺激在线观看| 老司机精品线观看86| 欧美中文日韩一区久久| 五月情婷婷综合激情综合狠狠 | 亚洲一区二区欧美在线| 亚洲av日韩一区二区三区四区 | 色哟哟哟在线观看视频| 国产一级特黄在线观看| 欧美日韩国产黑人一区| 最新69国产精品视频| 国产成人精品国产成人亚洲| 99久久免费看国产精品| 国产欧美精品对白性色| 欧美激情床戏一区二区三| 九九久久精品久久久精品|