sprite-core
sprite-core copied to clipboard
是否可以添加自定义滤镜定义途径?
https://github.com/spritejs/sprite-core/blob/16e863f4bb8a4c007879ebe22e61a881b56ef57d/src/sprite.js#L234
比如在sprite上约定一个自定义滤镜函数的属性(比如 customFilter(r, g, b, a, imageData)=>{ ... 这里是滤镜处理过程... } ),这样就可以在drawImage后针对贴图进行像素处理:
const imgRect = cvs.getImageData(...rect);
const imgData = imgRect.data;
for(var i=0; i<imgData.length; i+=4){
customFilter(imgData[i], imgData[i+1], imgData[i+2], imgData[i+3], imgData, imgRect);
}
cvs.putImageData(imgRect,...rect)
负面影响:缓存策略需要考虑修改,避免出错。
这个我想一下,应该可以的,缓存也可以解决
考虑了一下主要是性能问题,像微信这种没有缓存的环境会有点吃不消,其实可以直接用
const image = await spritejs.Resource.loadTexture(src)
拿到图片,然后先处理掉,接着直接作为texture用在Sprite上就可以了