html52.com
我爱小程序-开发者交流社区

ios小程序,wx.canvastotempfilepath生成图片的模糊的问题

问题模块
API和组件

手机版本

iPhone 6 plus  ios10.3.1

iPhoneSE  ios10.3.1


ios端 通过wx.canvastotempfilepath生成的图片非常模糊,即便截取200x200的图片,显示为100X100依然模糊

安卓端完全正常

网友回复

杨恩永:

正解:

destWidth: that.data.canvasWidth * 750 / wx.getSystemInfoSync().windowWidth,

destHeight: that.data.canvasHeight * 750 / wx.getSystemInfoSync().windowWidth,


px = rpx / 750 * wx.getSystemInfoSync().windowWidth;

要把  px  转成 rpx

就不会模糊了


Dee:

同学,我找到解决方案了..


生成图片的尺寸大小的由Canvas决定的。微信API提供的输出高度、宽度只是把图片放大了,所以很模糊。



也就是说Canvas的高宽度为:200*200,微信API的输出高宽度为:

destWidth: 400,
destHeight: 400,

这样实际只是把图片放大2倍而已,所以才会很模糊。


解决方案是:用2个Canvas,一个用来显示(200*200),一个用来导出图片(400*400)。

小新JS :

你们使用没有问题吗?我怎么生成的是空白图片啊?

Dseeker:

那我有个问题,举个例子我手机使用canvas截图所得的图片是170*250,最终所需的图片要1700*2500的大小,也就是要在2个canvas上绘制了,然而问题来了,如果在1700*2500上直接绘制图片就会造成小程序闪退,把尺寸缩小到1200*1700左右就不会闪退,有什么办法解决么?

Paper:

楼上正解 页面中显示需要使用 rpx 进行自适应,但是保存后的图片直接用 px 做就可以

Dee:

+1


iPhone、Android生成Canvas图片都很模糊

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付