小程序
小游戏
企业微信
微信支付
扫描小程序码分享
为什么我的
生成的图片是模糊的啊?
有大神知道怎么生成跟手机小程序显示的页面一样的吗?
8 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
即便输出和原图宽高一致,图片的大小几乎和原图一样,可是根本没用。因为图片的dpi被修改了,原图的dip是300,canvas导出的图片dpi是96。怎么可能清晰呢?不明白这个dpi修改的机制和原理是啥?有懂得人给科普下呗。。。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
用了@bill lee 说的方法,把输出宽高设为3倍,小米5测试很清晰;由于是3这个数字,猜想是不是跟设备像素比有关,于是用 wx.getSystemInfoSync 获取设备像素比pixelRatio, 使 输出宽高 * pixelRatio
destWidth, destHeight 设置为canvas大小的3倍差不多就清晰了,安卓是没问题的,ios我发现还是比较模糊
我发现微信开发工具里面保存图片不管怎么调参数都是失真很严重的,但是把destWidth, destHeight提高,真机生成的图片就会清晰
如果 canvas 绘制的时候是按照低像素密度绘制的,仅导出的时候设置 destWidth destHeight 乘以 pixelRatio,输出的图片虽然变大了,但还是会模糊。
我解决的办法是:绘制的时候就把所有的尺寸(字体大小、图片大小、边距、间距等)乘以 pixelRatio,输出图片的时候就按照绘制大小输出就可以。
模拟器上图片多次修改多次保存后,高度是不变的。可是手机上,高度越来越大!有解决办法吗?
你是怎么显示的啊,我都显示不出来
同问,保存的出来的图片特别虚。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
即便输出和原图宽高一致,图片的大小几乎和原图一样,可是根本没用。因为图片的dpi被修改了,原图的dip是300,canvas导出的图片dpi是96。怎么可能清晰呢?不明白这个dpi修改的机制和原理是啥?有懂得人给科普下呗。。。
用了@bill lee 说的方法,把输出宽高设为3倍,小米5测试很清晰;由于是3这个数字,猜想是不是跟设备像素比有关,于是用 wx.getSystemInfoSync 获取设备像素比pixelRatio, 使 输出宽高 * pixelRatio
destWidth, destHeight 设置为canvas大小的3倍差不多就清晰了,安卓是没问题的,ios我发现还是比较模糊
我发现微信开发工具里面保存图片不管怎么调参数都是失真很严重的,但是把destWidth, destHeight提高,真机生成的图片就会清晰
如果 canvas 绘制的时候是按照低像素密度绘制的,仅导出的时候设置 destWidth destHeight 乘以 pixelRatio,输出的图片虽然变大了,但还是会模糊。
我解决的办法是:绘制的时候就把所有的尺寸(字体大小、图片大小、边距、间距等)乘以 pixelRatio,输出图片的时候就按照绘制大小输出就可以。
模拟器上图片多次修改多次保存后,高度是不变的。可是手机上,高度越来越大!有解决办法吗?
你是怎么显示的啊,我都显示不出来
同问,保存的出来的图片特别虚。