期望表现:选择图片在canvas绘制后,获取画布像素数据做滤镜处理后的图片与未处理的canvas图片清晰度不变
实际表现:清晰度差距较大
代码片段中实验通过wx.canvasGetImageData获取的像素不做处理在原区域由wx.canvasPutImageData重新绘制一次,绘制后的图片应该与原图相同,结果绘制后的图片模糊不清(下图图二是选择图片绘制的结果,图一是通过PutImageData绘制的结果)
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
小程序 | Bug | wx.canvasGetImageData,wx.canvasPutImageData | 客户端 | Android | 6.6.7 | 2.2.2 |
4 个回答
确实是这样的,getImageData就是逻辑像素的点,取一下再set就丢了像素密度的数据。
那这个微信会处理吗,希望给个明确的反馈,我们需要确定这个功能上不上
本身应该是如此的逻辑,所以目前是不会再去做额外处理的。
那我觉得这个api就完全可以废弃了,既然我选取了canvas的像素点,必然是要操作然后重新绘制到canvas上的,如果获取到的像素点绘制上去是这种效果那完全没有意义
使用GetImageData与PutImageData两个api就是为了能让当前的canvas先保存起来,然后在将来需要的时候使用,结果重新画上去的还模糊掉了...感觉好鸡肋啊
你好,感谢反馈,我们定位一下问题
图片由微信压缩了,看不太清,实际清晰度差异很明显