网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

wx-caman——基于 CamanJS 的微信小程序 Canvas 像素級濾鏡處理庫

發布時間:2018-06-22 09:51 所屬欄目:小程序開發教程

做這個項目的初衷是希望能夠開發一款不依賴服務端而純通過客戶端渲染為圖片添加濾鏡的小程序。但是由于微信小程序中的 canvas 組件與 DOM Canvas 元素有較大差異,因此傳統的 Canvas 處理庫幾乎無法在小程序中使用。在調研了一些傳統瀏覽器端的項目后,我發現 CamanJS 的功能比較完善,同時也比較容易對微信小程序進行適配。在閱讀完畢 CamanJS 源碼(順便學習了一下 CoffeeScript)以及學習了小程序的 canvas 組件的條條框框之后,wx-caman 就誕生了。wx-caman 由 CamanJS 封裝而來,基于 ES6 進行了重寫,并針對微信小程序進行了適配。其使用基本與 CamanJS 保持一致,同時剔除了無關功能,能夠對小程序中的 canvas 進行像素級別的圖像濾鏡處理。

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

使用上,下面是一個簡單示例:

<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()
      })
    })
  }
})


易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/24582.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×