微信小程序,ios和安卓上canvas内使用drawImage绘制图片效果不一致,安卓会变透明?

新手上路,请多包涵

ios和安卓上canvas内使用drawImage绘制图片效果不一致,安卓绘制出的图片会变成半透明。

ios:
TIM图片20191017212244.jpg

安卓:
TIM图片20191017212236.jpg

请问是什么原因,怎么解决?

阅读 4.2k
1 个回答
新手上路,请多包涵

我也遇到同样问题百度了一上午(探讨绘制延迟等的),都没有解决我的问题。
后来发现是自己不严谨了,我这边为了重绘遮罩先加了个半透明图形引起的。我觉得似乎是iOS在drawImage时不会生效最近一次setFillStyle的半透明效果,所以看似是iOS正常。如下:

修改前

ctx.setFillStyle('rgba(100,100,100,0.2)')
ctx.fillRect(...)
ctx.drawImage(...)

修改后

ctx.setFillStyle('rgba(100,100,100,0.2)')
ctx.fillRect(...)
ctx.setFillStyle('rgba(255,255,255,1)')
ctx.drawImage(...)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进