发现用canavs生成的图片,IOS上图片的质量超给差,android则好点,生成的图片用接口:canvasToTempFilePath, 代码如下:
wx.canvasToTempFilePath({ canvasId: 'showCanvas', success(res) { console.log('generate=',res.tempFilePath); g_result = res.tempFilePath; self.setData({ result:g_result, showCanvas:false }) } }); |
canvas代码:
<canvas style="width: 750rpx; height: 1334rpx;" canvas-id="showCanvas"></canvas> |
在iphone6下面测得,生成的图片:375*667,格式:jpg, 大小:44.7k, 如下图,图片质量明显较差,看文字部分较明显有虚边,模糊。
在安卓米5s上面得,生成 图片:720*1280,格式:jpg,大小:94.2k,如下图:看文字部分明显清晰多
想问下这个转换生成的图片质量如何把控,IOS生成太影响体验,因为最终生成的图片都是存本地的,没有服务器的压力,如何提高质量,求解?

我也刚好碰到这样的问题,不过看了下文档之后解决了。代码如下,之后还有遇到相同问题搜索到这里的希望有帮助:
wx.canvasToTempFilePath({x: 0,y: 0,width: 680 * px2rpx,height: 800 * px2rpx,destWidth: 2040,destHeight: 2400,canvasId:'shareCanvas',fileType:'jpg',quality:1,success:function(res) {that.setData({shareImage: res.tempFilePath,showSharePic:true})},)}有两点可以设置来提高图片质量:一是fileType参数设为jpg后把quality设为1,二是把生成的图片宽高值设大一点。
文档里面说了的:![]()
这两个值越大图片越清晰,只要保持宽高比与画布宽高比一致就好了
下个版本是什么时候,现在的仍然有问题
下个版本修复。
请问,修复了么