根据手机屏幕宽度设定canvas的宽度
根据9:16的比例设置高度
绘画出图像
保存图片
尺寸(不知道这么设置对不对)
destWidth等于canvas宽度
destHeight等于canvas高度
width等于canvas宽度
height等于canvas高度
保存后的图片非常模糊,由于上面绘制小程序码 根本就扫不出来
不知道如何设置不模糊
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | canvas 相关 | 客户端 | 7.0.3 | 2.5.2 |
5 个回答
wx.canvasToTempFilePath({
width:that.data.canvasWidth,
height: that.data.canvasHeight,
destWidth: that.data.canvasWidth*that.data.pixelRatio,
destHeight: that.data.canvasHeight * that.data.pixelRatio,
...
实测模糊
获取玩像素比也设置了,还是有些模糊
请问这个问题解决了么?我使用canvas绘制出来的 海报 ,海报上的文字绘制出来有锯齿。
怎样才能清晰的显示呢?
解决了 用生成图片的宽高分别乘以设备像素比
用他获取像素比 wx.getSystemInfo
是这
destWidth等于canvas宽度
destHeight等于canvas高度
width等于canvas宽度
height等于canvas高度
四个属性值分别乘以
wx.getSystemInfo中 pixelRatio 的像素比输出图片么?
还有一个问题是 canvas 的大小我按照wx.getImageInfo()中获取的宽高去绘制可以么
试了好多种方法 ,绘制出来的图片上的文字都有锯齿
是不是用canvas宽度*设备像素比
应该是受手机的 dpr 的影响,如手机 dpr 是 2 的话,canvas 的宽度应该是手机屏幕宽度的两倍才不会模糊
那用户手机上显示呢
可以用这个接口获得 dpr