免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動(dòng)推薦你的品牌,搶占AI流量入口!  點(diǎn)擊查看

小程序模板網(wǎng)

wx-caman——基于 CamanJS 的微信小程序 Canvas 像素級(jí)濾鏡處理庫(kù)

發(fā)布時(shí)間:2018-06-22 09:51 所屬欄目:小程序開(kāi)發(fā)教程

做這個(gè)項(xiàng)目的初衷是希望能夠開(kāi)發(fā)一款不依賴(lài)服務(wù)端而純通過(guò)客戶端渲染為圖片添加濾鏡的小程序。但是由于微信小程序中的 canvas 組件與 DOM Canvas 元素有較大差異,因此傳統(tǒng)的 Canvas 處理庫(kù)幾乎無(wú)法在小程序中使用。在調(diào)研了一些傳統(tǒng)瀏覽器端的項(xiàng)目后,我發(fā)現(xiàn) CamanJS 的功能比較完善,同時(shí)也比較容易對(duì)微信小程序進(jìn)行適配。在閱讀完畢 CamanJS 源碼(順便學(xué)習(xí)了一下 CoffeeScript)以及學(xué)習(xí)了小程序的 canvas 組件的條條框框之后,wx-caman 就誕生了。wx-caman 由 CamanJS 封裝而來(lái),基于 ES6 進(jìn)行了重寫(xiě),并針對(duì)微信小程序進(jìn)行了適配。其使用基本與 CamanJS 保持一致,同時(shí)剔除了無(wú)關(guān)功能,能夠?qū)π〕绦蛑械?canvas 進(jìn)行像素級(jí)別的圖像濾鏡處理。

wx-caman 支持多個(gè)常見(jiàn)圖片濾鏡處理,例如 Brightness、Contrast、Sepia、Saturation 等,同時(shí)還內(nèi)置了多個(gè)預(yù)設(shè)濾鏡例如 lomo、sunrise、sinCity 等,方便直接使用;支持多圖層混合,常見(jiàn)的混合模式 multiply、overlay 等也都悉數(shù)支持。

使用上,下面是一個(gè)簡(jiǎn)單示例:

<canvas style="width: 300px; height: 200px;" canvas-id="firstCanvas"></canvas>
Page({
  onReady: function (e) {
    // 使用 wx.createContext 獲取繪圖上下文 context
    var context = wx.createCanvasContext('firstCanvas')

    context.setStrokeStyle('#00ff00')
    context.setLineWidth(5)
    context.rect(0, 0, 200, 200)
    context.stroke()
    context.setStrokeStyle('#ff0000')
    context.setLineWidth(2)
    context.moveTo(160, 100)
    context.arc(100, 100, 60, 0, 2 * Math.PI, true)
    context.draw(false, function() {
      new WxCaman('firstCanvas', 300, 200, function () {
        this.brightness(10)
        this.contrast(30)
        this.sepia(60)
        this.saturation(-30)
        this.render()
      })
    })
  }
})


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://m.szcjxy.com/wxmini/doc/course/24582.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢(xún): 點(diǎn)擊咨詢(xún)
在線客服