微信小程序滤镜工具weImageFilters

声明

滤镜处理的代码99.9%来自于arahaya/ImageFilters.js,我这里只是做了一些小改动,使其能在微信小程序里使用。

版本要求

基础库 1.9.0

简介

最近发现一个网页上好用的滤镜库,滤镜效果有几十种,就稍微做了一些更改,使其能在微信小程序使用。

下面的效果图均由微信开发工具模拟器生成,并且在自己手机上也测试过,能正常使用。

有些效果会比较耗时,比如高斯模糊,对于320*320的图片有时候会有几秒处理时间。这里毕竟是手机并且相当于是在网页中进行处理,所以并不建议用来处理大图。

滤镜的参数我目前是写死的,可以根据需要修改。

代码 tomfriwel/weImageFilters

效果图

屏幕截图

2158535-205a7f10a1f41bda.jpeg
屏幕截图

原图

2158535-d3e9a4579dc42882.jpg
原图

绘制在canvas中的图片(320*320)

2158535-2717c93f2a3fc028.png
original
  1. Binarize (srcImageData, threshold) 二值化, 参数:(imageData, 0.9)
2158535-d78110e8e4999c3c.png
Binarize
  1. BoxBlur (srcImageData, hRadius, vRadius, quality) 方框模糊, 参数:(imageData, 3, 3, 2)
2158535-a24f8c62e7e10513.png
BoxBlur
  1. GaussianBlur (srcImageData, strength) 高斯模糊, 参数:(imageData, 4)
2158535-ad5dcf3b31202533.png
GaussianBlur
  1. StackBlur (srcImageData, radius) 高斯模糊和框模糊的折衷方案, 参数:(imageData, 6)
2158535-1a485e1ed38bfa4f.png
StackBlur
  1. Brightness (srcImageData, brightness) 亮度调节, 参数:(imageData, 100)
2158535-9d8f16b709f51e26.png
Brightness
  1. BrightnessContrastGimp (srcImageData, brightness, contrast) 亮度、对比度, 参数:(imageData, 26, 13)
2158535-ebd612007487886c.png
BrightnessContrastGimp
  1. BrightnessContrastPhotoshop (srcImageData, brightness, contrast) 亮度、对比度, 参数:(imageData, 26, 13)
2158535-32e8ab6cb7979167.png
BrightnessContrastPhotoshop
  1. Channels (srcImageData, channel) 单色通道,这里为 blue Channel, 参数:(imageData, 3)
2158535-d5b198fe6e30e49f.png
Channels blue
  1. ColorTransformFilter (srcImageData, redMultiplier, greenMultiplier, blueMultiplier, alphaMultiplier, redOffset, greenOffset, blueOffset, alphaOffset) 颜色变换滤波器, 参数:(imageData, 2, 1, 1, 1, 38, 0, 0, 0)
2158535-27d7dd1f983b2c78.png
ColorTransformFilter
  1. Desaturate (srcImageData) 冲淡
2158535-50a12e81591403b0.png
Desaturate
  1. Dither (srcImageData, levels) 高频振动, 参数:(imageData, 2)
2158535-e5dc7b7eb240ac5d.png
Dither
  1. Edge (srcImageData) 边缘
2158535-a32ebdd7f70eedee.png
Edge
  1. Emboss (srcImageData) 浮雕
2158535-cdbbf140d7f40171.png
Emboss
  1. Enrich (srcImageData) 丰富
2158535-253a0a7f3801b88b.png
Enrich
  1. Flip (srcImageData, vertical) 翻转, 参数:(imageData, 0)
2158535-1638188e1b979022.png
Flip
  1. Gamma (srcImageData, gamma) γ, 参数:(imageData, 5)
2158535-025bd742d11f737d.png
Gamma
  1. GrayScale (srcImageData) 灰度
2158535-c3e7a9b3bda5efff.png
GrayScale
  1. HSLAdjustment (srcImageData, hueDelta, satDelta, lightness) HSL调节, 参数:(imageData, -23, 54, 19)
2158535-873ed95bff29c74a.png
HSLAdjustment
  1. Invert (srcImageData) 反色
2158535-9bc839b807593f3b.png
Invert
  1. Mosaic (srcImageData, blockSize) 马赛克,blockSize马赛克块的大小, 参数:(imageData, 10)
2158535-16e8b4eaa1515f3c.png
Mosaic
  1. Oil (srcImageData, range, levels) 油画效果, 参数:(imageData, 5, 62)
2158535-fb4bc43ccb44fd08.png
Oil
  1. OpacityFilter (srcImageData, opacity) 不透明度, 参数:(imageData, 123)
2158535-a7a6b98c5a202e9a.png
OpacityFilter
  1. Posterize (srcImageData, levels) 多色调分色印, 参数:(imageData, 6)
2158535-ccb8539664c4e43c.png
Posterize
  1. Rescale (srcImageData, scale) 重新调节, 参数:(imageData, 3.2)
2158535-7c41a241572fe4ed.png
Rescale
  1. Sepia(srcImageData) 褐色
2158535-065d5c00c24c67fd.png
Sepia
  1. Sharpen (srcImageData, factor) 锐化, 参数:(imageData, 9)
2158535-8bf225c1a68119cd.png
Sharpen
  1. Solarize (srcImageData) 曝光
2158535-c7730bb9349c0c15.png
Solarize
  1. Transpose (srcImageData) 调换
2158535-c4e7f2c9ae898721.png
Transpose
  1. Twril (srcImageData, centerX, centerY, radius, angle, edge, smooth) 水波旋转, 参数:(imageData, 0.5, 0.5, 40, 360, 0, true)
2158535-7fdb5c97d2ae26b2.png
Twril

将半径和旋转角度调节一下,参数:(imageData, 0.5, 0.5, 120, 90, 0, true)

2158535-8212afb32cf9ef12.png
Twril1

猜你喜欢

转载自blog.csdn.net/weixin_34417200/article/details/87237349