成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[開源] SpriteJS -- 一款簡單的跨終端 canvas 繪圖框架

hover_lew / 1687人閱讀

摘要:是一款由奇舞團開源的跨終端繪圖框架,可以基于快速繪制結(jié)構(gòu)化動畫和交互效果,并發(fā)布到任何擁有環(huán)境的平臺上比如瀏覽器小程序和。有如下特點基于繪制的文檔對象模型四種基本精靈類型支持基礎(chǔ)和高級的精靈屬性,精靈盒模型屬性與具有高度一致性。

SpriteJS 是一款由360奇舞團開源的跨終端 canvas 繪圖框架,可以基于 canvas 快速繪制結(jié)構(gòu)化 UI、動畫和交互效果,并發(fā)布到任何擁有canvas環(huán)境的平臺上(比如瀏覽器、小程序和node)。

官方網(wǎng)站:http://spritejs.org

Github地址:https://github.com/spritejs/s...

DEMO示例:http://spritejs.org/demo/

為什么要開發(fā) SpriteJS

我們知道,canvas API可以很靈活地繪制各種矢量圖形到畫布上,但是 canvas API 本身比較低級,比如我們要在畫布中央繪制一個帶有圓角的紅色矩形,使用 canvas 原生的 API,需要這樣:

const canvas = document.getElementById("paper")
const context = canvas.getContext("2d")

const [x, y, w, h, r] = [200, 200, 200, 200, 50]

context.fillStyle = "red"
context.beginPath()
context.moveTo(x + r, y)
context.arcTo(x + w, y, x + w, y + h, r)
context.arcTo(x + w, y + h, x, y + h, r)
context.arcTo(x, y + h, x, y, r)
context.arcTo(x, y, x + w, y, r)
context.closePath()
context.fill()

如果實現(xiàn)相同的效果,使用 SpriteJS 是這樣寫:

const scene = new spritejs.Scene("#container")
const layer = scene.layer()

const s = new spritejs.Sprite({
  anchor: 0.5,
  bgcolor: "red",
  pos: [300, 300],
  size: [200, 200],
  borderRadius: 50,
})

layer.append(s)

Sprite 為圖形創(chuàng)建類似于 DOM 的對象模型,因此我們可以像創(chuàng)建 DOM 元素一樣,創(chuàng)建 Sprite 元素,并將它們 append 到 layer 上,從而將元素呈現(xiàn)到畫布上。SpriteJS 有如下特點:

基于 canvas 繪制的文檔對象模型

四種基本精靈類型:Sprite、Path、Label、Group

支持基礎(chǔ)和高級的精靈屬性,精靈盒模型、屬性與 CSS3 具有高度一致性。

簡便而強大的 Transition、Animation API

支持雪碧圖和資源預(yù)加載

可擴展的事件機制

高性能的緩存策略

對 D3、Matter-js、Proton和其他第三方庫友好

跨平臺,支持服務(wù)端渲染、微信小程序

基本使用介紹

通過 NPM 或者直接加載 CDN 版本即可使用 SpriteJS

npm install spritejs —save

注:在服務(wù)端使用需要安裝 node-canvas

下面是簡單的用法示例,大家也可以直接訪問 JSBin 查看效果。

const {Scene, Sprite} = spritejs

const scene = new Scene("#demo-quickStart", {viewport: [770, 200], resolution: [3080, 800]})

const layer = scene.layer()

const robot = new Sprite("https://p5.ssl.qhimg.com/t01c33383c0e168c3c4.png")

robot.attr({
  anchor: [0, 0.5],
  pos: [0, 0],
})

robot.animate([
  {pos: [0, 0]},
  {pos: [0, 300]},
  {pos: [2700, 300]},
  {pos: [2700, 0]},
], {
  duration: 5000,
  iterations: Infinity,
  direction: "alternate",
})

layer.append(robot)
文檔

齊全的使用文檔:中文 | EN

各種各樣的例子

詳細的 API 文檔

原博文 SpriteJS -- Canvas動畫從未如此簡單

要深入了解 SpriteJS 或者希望給 SpriteJS 貢獻代碼,可以關(guān)注我們的 GitHub倉庫,大家的寶貴 star 是對我們最大的鼓勵和支持。如果對 SpriteJS 有疑問,或者需要了解進一步細節(jié),可以加入 SpriteJS 官方QQ群:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/116749.html

相關(guān)文章

  • [開源] SpriteJS -- 一款簡單的跨終端 canvas 繪圖框架

    摘要:是一款由奇舞團開源的跨終端繪圖框架,可以基于快速繪制結(jié)構(gòu)化動畫和交互效果,并發(fā)布到任何擁有環(huán)境的平臺上比如瀏覽器小程序和。有如下特點基于繪制的文檔對象模型四種基本精靈類型支持基礎(chǔ)和高級的精靈屬性,精靈盒模型屬性與具有高度一致性。 SpriteJS 是一款由360奇舞團開源的跨終端 canvas 繪圖框架,可以基于 canvas 快速繪制結(jié)構(gòu)化 UI、動畫和交互效果,并發(fā)布到任何擁有ca...

    Achilles 評論0 收藏0
  • GitHub 值得收藏的前端項目[每月更新...]

    摘要:也是一款優(yōu)秀的響應(yīng)式框架站點所使用的一套框架為微信服務(wù)量身設(shè)計的一套框架一組很小的,響應(yīng)式的組件,你可以在網(wǎng)頁的項目上到處使用一個可定制的文件,使瀏覽器呈現(xiàn)的所有元素,更一致和符合現(xiàn)代標準。 GitHub 值得收藏的前端項目 整理與收集的一些比較優(yōu)秀github項目,方便自己閱讀,順便分享出來,大家一起學習,本篇文章會持續(xù)更新,版權(quán)歸原作者所有。歡迎github star與fork 預(yù)...

    maxmin 評論0 收藏0
  • 2016年前端開發(fā)學習計劃

    摘要:年,軟件開發(fā)界發(fā)生了很多變化。六數(shù)據(jù)存儲是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典公司開發(fā),目前屬于旗下公司。最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在應(yīng)用方面是最好的,關(guān)系數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件之一。七是最新的修訂版本,年月由萬維網(wǎng)聯(lián)盟完成標準制定。 2015年,軟件開發(fā)界發(fā)生了很多變化。有很多流行的新語言發(fā)布了,也有很多重要的框架和工具發(fā)布了新版本。下面有一個我們覺得最重要的簡短清單,同時也有我們覺...

    asoren 評論0 收藏0
  • 2016年前端開發(fā)學習計劃

    摘要:年,軟件開發(fā)界發(fā)生了很多變化。六數(shù)據(jù)存儲是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典公司開發(fā),目前屬于旗下公司。最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在應(yīng)用方面是最好的,關(guān)系數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件之一。七是最新的修訂版本,年月由萬維網(wǎng)聯(lián)盟完成標準制定。 2015年,軟件開發(fā)界發(fā)生了很多變化。有很多流行的新語言發(fā)布了,也有很多重要的框架和工具發(fā)布了新版本。下面有一個我們覺得最重要的簡短清單,同時也有我們覺...

    Null 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<