做这个项目的初志是希望能够开发一款不依赖服务端而纯通过客户端渲染为图片添加滤镜的小程序。。。可是由于微信小程序中的 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()
})
})
}
})
想要相识更多可移步 项目客栈 ,,,,,接待 star,,,,,同时使用历程中有任何问题也接待提交 issue。。。
本文首发于我的博客(点此审查),,,,,接待关注。。。
KESION pp电子软件
KESION pp电子软件是海内领先的在线教育软件及私域社交电商软件服务提供商,,,,,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。。KESION 一直通过手艺立异,,,,,提供产品和服务,,,,,助力企业向数字化转型,,,,,通过科技驱动商业刷新,,,,,让商业变得更智慧!
电商小程序一定少不了购物车功效,,,,,那么购物车功效要怎样开发,,,,,怎样结构呢。。。...
各大视频网站也最先加入了小程序的暗战,,,,,在线视频小程序的无需下载,,,,,从微信端就可以进入寓目视频。。。下面以爱奇艺视频小程序为各人解读视频小程序的开发案例。。。...