最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue和uniapp中該如何使用canvas詳解

 更新時(shí)間:2022年10月25日 09:49:22   作者:無·糖  
說起canvas是css3新增的標(biāo)簽,而餅狀圖又是canvas經(jīng)典,我們公司現(xiàn)在正在用uni-app框架去研發(fā)APP,下面這篇文章主要給大家介紹了關(guān)于Vue和uniapp中該如何使用canvas的相關(guān)資料,需要的朋友可以參考下

Vue與uniapp中如何使用canvas?

一般Vue情況下我們使用canvas是這樣使用的

//創(chuàng)建canvas元素
<canvas
      id="output_mini"
      width="1400"
      height="790"
      style="display: block;position: absolute;top:0;"
      />
      
//找到canvas元素
const canvas = document.getElementById("output_mini");
      
//創(chuàng)建context對(duì)象
this.context = canvas.getContext("2d");

//然后畫線段畫圓等操作
ctx.moveTo(0,0);  //定義開始坐標(biāo)(0,0)
ctx.lineTo(200,100); //結(jié)束坐標(biāo) (200,100)
ctx.stroke(); // stroke() 方法來繪制線條:

但是在uniapp中,不能像上面這樣直接創(chuàng)建context對(duì)象。需要通過uniapp官方提供的方法來創(chuàng)建context對(duì)象,之后在進(jìn)行其他的操作。

示例

//創(chuàng)建canvas元素
<canvas canvas-id="output_mini" width="400" height="360" style="display: block;position: absolute;top:0;" 

//創(chuàng)建context對(duì)象
var ctx = uni.createCanvasContext('output_mini', this);

屬性說明

屬性名類型說明
typeString指定 canvas 類型,支持 2d (2.9.0) 和 webgl
canvas-idStringcanvas 組件的唯一標(biāo)識(shí)符
disable-scrollBoolean當(dāng)在 canvas 中移動(dòng)時(shí)且有綁定手勢(shì)事件時(shí),禁止屏幕滾動(dòng)以及下拉刷新
hidpiBoolean是否啟用高清處理
@touchstartEventHandle手指觸摸動(dòng)作開始
@touchmoveEventHandle手指觸摸后移動(dòng)
@touchendEventHandle手指觸摸動(dòng)作結(jié)束
@touchcancelEventHandle手指觸摸動(dòng)作被打斷,如來電提醒,彈窗
@longtapEventHandle手指長(zhǎng)按 500ms 之后觸發(fā),觸發(fā)了長(zhǎng)按事件后進(jìn)行移動(dòng)不會(huì)觸發(fā)屏幕的滾動(dòng)
@errorEventHandle當(dāng)發(fā)生錯(cuò)誤時(shí)觸發(fā) error 事件,detail = {errMsg: ‘something wrong’}

注意事項(xiàng):

  • canvas 標(biāo)簽?zāi)J(rèn)寬度 300px、高度 225px,動(dòng)態(tài)修改 canvas 大小后需要重新繪制。
  • h5、app-vue 中單個(gè)尺寸過大的 canvas 在 iOS/Safari 無法繪制(具體限制尺寸未公布)。
  • 同一頁(yè)面中的 canvas-id 不可重復(fù),如果使用一個(gè)已經(jīng)出現(xiàn)過的 canvas-id,該 canvas標(biāo)簽對(duì)應(yīng)的畫布將被隱藏并不再正常工作。
  • canvas 在微信小程序、百度小程序、QQ小程序中為原生組件,層級(jí)高于前端組件,請(qǐng)勿內(nèi)嵌在scroll-view、swiper、picker-view、movable-view 中使用。解決 canvas 層級(jí)過高無法覆蓋,參考native-component。其他小程序端的 canvas 仍然為 webview 中的 canvas。
  • app-vue 中的 canvas 仍然是 webview 的canvas。app-nvue下如需使用canvas,需下載插件。
  • app-vue的canvas雖然是webview自帶的canvas,但卻比nvue和微信小程序的原生canvas性能更高。注意并非原生=更快。canvas動(dòng)畫的流暢,關(guān)鍵不在于渲染引擎的速度,而在于減少?gòu)倪壿媽酉蛞晥D層頻繁通信造成的折損。
  • 小程序、app-nvue,因?yàn)橥ㄐ抛枞?,難以繪制非常流暢的canvas動(dòng)畫。h5和app-vue不存在此問題。但注意,app-vue下若想流暢的繪制canvas動(dòng)畫,需要使用renderjs技術(shù),把操作canvas的js邏輯放到視圖層運(yùn)行,避免邏輯層和視圖層頻繁通信。hello uni-app的canvas示例很典型,在相同手機(jī)運(yùn)行該示例,可以看出在h5端和app端非常流暢,而小程序端由于沒有renderjs技術(shù),做不到這么流暢的動(dòng)畫。

總結(jié)

到此這篇關(guān)于Vue和uniapp中該如何使用canvas的文章就介紹到這了,更多相關(guān)Vue uniapp使用canvas內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解如何在vue項(xiàng)目中引入elementUI組件

    詳解如何在vue項(xiàng)目中引入elementUI組件

    這篇文章主要介紹了詳解如何在vue項(xiàng)目中引入elementUI組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • Vue.js tab實(shí)現(xiàn)選項(xiàng)卡切換

    Vue.js tab實(shí)現(xiàn)選項(xiàng)卡切換

    這篇文章主要為大家詳細(xì)介紹了Vue.js組件tab實(shí)現(xiàn)選項(xiàng)卡切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • antd?Vue實(shí)現(xiàn)Login登錄頁(yè)面布局案例詳解?附帶驗(yàn)證碼驗(yàn)證功能

    antd?Vue實(shí)現(xiàn)Login登錄頁(yè)面布局案例詳解?附帶驗(yàn)證碼驗(yàn)證功能

    這篇文章主要介紹了antd?Vue實(shí)現(xiàn)Login登錄頁(yè)面布局案例詳解附帶驗(yàn)證碼驗(yàn)證功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • vue實(shí)現(xiàn)3D切換滾動(dòng)效果

    vue實(shí)現(xiàn)3D切換滾動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)偽3D切換滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue打印的對(duì)象在瀏覽器中顯示的問題分析

    vue打印的對(duì)象在瀏覽器中顯示的問題分析

    因?yàn)樵趘ue中對(duì)象都是用了代理重寫了get,由于get重寫也就導(dǎo)致了瀏覽器不能直接獲取到具體的值,因此才會(huì)在打印的時(shí)候?yàn)?..,手動(dòng)點(diǎn)擊展開才顯示具體的值,這篇文章主要介紹了為什么vue打印的對(duì)象在瀏覽器中顯示,需要的朋友可以參考下
    2024-04-04
  • 詳解vue頁(yè)面狀態(tài)持久化詳解

    詳解vue頁(yè)面狀態(tài)持久化詳解

    這篇文章主要為大家介紹了vue頁(yè)面狀態(tài)持久化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式

    詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式

    本篇文章主要介紹了詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 淺談在vue-cli3項(xiàng)目中解決動(dòng)態(tài)引入圖片img404的問題

    淺談在vue-cli3項(xiàng)目中解決動(dòng)態(tài)引入圖片img404的問題

    這篇文章主要介紹了淺談在vue-cli3項(xiàng)目中解決動(dòng)態(tài)引入圖片img404的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue實(shí)現(xiàn)上傳圖片添加水印

    vue實(shí)現(xiàn)上傳圖片添加水印

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)上傳圖片添加水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue?el-input輸入框輸入不了的解決方法

    vue?el-input輸入框輸入不了的解決方法

    在工作中遇到N次input無法輸入的問題,所以下面這篇文章主要給大家介紹了關(guān)于vue?el-input輸入框輸入不了的解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11

最新評(píng)論

彝良县| 临高县| 杂多县| 定州市| 元阳县| 紫金县| 称多县| 丹阳市| 静安区| 平利县| 阳新县| 富裕县| 珠海市| 靖边县| 怀远县| 闵行区| 德安县| 岫岩| 三江| 江口县| 南郑县| 广宗县| 塘沽区| 翼城县| 望江县| 武宁县| 永济市| 武安市| 尤溪县| 邛崃市| 丰都县| 惠东县| 丰城市| 绍兴市| 巴楚县| 贵定县| 天长市| 房山区| 壶关县| 无棣县| 牙克石市|