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

資訊專欄INFORMATION COLUMN

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

saucxs / 2027人閱讀

摘要:但是由于微信小程序中的組件與元素有較大差異,因此傳統(tǒng)的處理庫(kù)幾乎無(wú)法在小程序中使用。在調(diào)研了一些傳統(tǒng)瀏覽器端的項(xiàng)目后,我發(fā)現(xiàn)的功能比較完善,同時(shí)也比較容易對(duì)微信小程序進(jìn)行適配。由封裝而來(lái),基于進(jìn)行了重寫(xiě),并針對(duì)微信小程序進(jìn)行了適配。

做這個(gè)項(xiàng)目的初衷是希望能夠開(kāi)發(fā)一款不依賴服務(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)單示例:

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

想要了解更多可移步項(xiàng)目倉(cāng)庫(kù),歡迎 star,同時(shí)使用過(guò)程中有任何問(wèn)題也歡迎提交 issue。

本文首發(fā)于我的博客(點(diǎn)此查看),歡迎關(guān)注。

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

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

相關(guān)文章

  • 前端圖像處理指南

    摘要:本文會(huì)介紹位圖處理,矢量圖和圖像處理,重點(diǎn)是,并且最后會(huì)附上一個(gè)小應(yīng)用。以上列舉部分,更多備胎在此矢量圖處理講完位圖再說(shuō)矢量圖。矢量圖在繪制圖標(biāo)商業(yè)動(dòng)畫(huà)元素上應(yīng)用非常廣范。 計(jì)算機(jī)圖像處理是一門很成熟的技術(shù),任何一門可操作系統(tǒng)接口的語(yǔ)言都能很輕易的實(shí)現(xiàn)各種處理操作。但是前端限于瀏覽器環(huán)境和接口限制,處理起來(lái)會(huì)有諸多不便,這里所說(shuō)的前端圖像處理,是真的指不借助任何后端服務(wù)純前端實(shí)現(xiàn)的圖像...

    Anshiii 評(píng)論0 收藏0
  • 前端圖像處理指南

    摘要:本文會(huì)介紹位圖處理,矢量圖和圖像處理,重點(diǎn)是,并且最后會(huì)附上一個(gè)小應(yīng)用。以上列舉部分,更多備胎在此矢量圖處理講完位圖再說(shuō)矢量圖。矢量圖在繪制圖標(biāo)商業(yè)動(dòng)畫(huà)元素上應(yīng)用非常廣范。 計(jì)算機(jī)圖像處理是一門很成熟的技術(shù),任何一門可操作系統(tǒng)接口的語(yǔ)言都能很輕易的實(shí)現(xiàn)各種處理操作。但是前端限于瀏覽器環(huán)境和接口限制,處理起來(lái)會(huì)有諸多不便,這里所說(shuō)的前端圖像處理,是真的指不借助任何后端服務(wù)純前端實(shí)現(xiàn)的圖像...

    CatalpaFlat 評(píng)論0 收藏0
  • 6 款 Javascript 的圖像處理庫(kù)

    摘要:運(yùn)行代碼的結(jié)果如下是大名鼎鼎的并且非常權(quán)威的圖像處理庫(kù)。允許使用不同的媒介,用于創(chuàng)建動(dòng)畫(huà)片,數(shù)字形象和數(shù)字藝術(shù),也可以用于圖像處理。從正面的角度看,他是一個(gè)可靈活調(diào)整以及一個(gè)很好的了解圖像處理算法的途徑。 文/ Tine譯/Mantra 附原文地址:http://blog.webkid.io/image-p... 如果你正在尋找更高效的辦法來(lái)處理或操縱你 web 項(xiàng)目中的圖片,那么這篇...

    muddyway 評(píng)論0 收藏0
  • 信小程序濾鏡工具weImageFilters

    摘要:聲明濾鏡處理的代碼來(lái)自于,我這里只是做了一些小改動(dòng),使其能在微信小程序里使用。版本要求基礎(chǔ)庫(kù)簡(jiǎn)介最近發(fā)現(xiàn)一個(gè)網(wǎng)頁(yè)上好用的濾鏡庫(kù),濾鏡效果有幾十種,就稍微做了一些更改,使其能在微信小程序使用。 聲明 濾鏡處理的代碼99.9%來(lái)自于arahaya/ImageFilters.js,我這里只是做了一些小改動(dòng),使其能在微信小程序里使用。 版本要求 基礎(chǔ)庫(kù) 1.9.0 簡(jiǎn)介 最近發(fā)現(xiàn)一個(gè)網(wǎng)頁(yè)上好用...

    testbird 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<