小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在安卓上面通过canvas.drawImage绘制图片的时候,如果图片的尺寸宽和高超过2804*2804,(形如2805*2805),canvas就会绘制不出来,在IOS里面则能够正常显示,希望官方给个说法
10 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
画得来,但没有一个正确计算的denisty,画出来也是错的。
其实降级了没关系,正确计算一下src rect降级后的坐标再画就行了,也不知道为啥不改进一下。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
时隔一年了,这个问题好像也没有解决,传入的对象的宽度如果太大就画不来了
chooseImage这个问题我们内部先讨论一下~
使用drawImage的目的主要是为了自己压缩图片(不用chooseImage自带的压缩主要是chooseImage的失真太高),希望后续版本中的chooseImage能提供自定义的压缩比例,这样就省事多了。o(* ̄▽ ̄*)ブ
这里,小程序前端页面用的是逻辑像素,而图片是物理像素,如果你drawImage的时候使用了2804 * 2804(逻辑像素),那转换成物理像素时,native会乘于density,也就是2804 * density * 2804 * density,这里会decode出一个很大的bitmap,很大可能会挂掉,目前还没有比较好的方案解决这个问题,你可以先通过在drawImage的时候设置一下width和height(换算成逻辑像素)来暂时解决一下这个问题;
denisty怎么求?大的图会变成1/9,小点的变成1/4,找不到规律。
在没有解决方案之前能不能先给一个计算density的算法? 2804这个数据也很奇怪,看起来更像是看总像素,而不是看边长的。能不能把精确的降级比例计算方法公布一下,起码开发者可以自己弥补一下。
安卓版本为5.1的魅蓝Note3也出现异常
2804 * 2804是原图图片大小
图片大小,刚才又测试安卓版本5.1的华为安卓正常,安卓版本7.1的一加3T测试异常,安卓版本6.0的魅族MX6测试异常
你这里的2804 * 2804是图片大小?还是drawImage的目标区域大小?
默默顶一下
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
画得来,但没有一个正确计算的denisty,画出来也是错的。
其实降级了没关系,正确计算一下src rect降级后的坐标再画就行了,也不知道为啥不改进一下。
时隔一年了,这个问题好像也没有解决,传入的对象的宽度如果太大就画不来了
chooseImage这个问题我们内部先讨论一下~
使用drawImage的目的主要是为了自己压缩图片(不用chooseImage自带的压缩主要是chooseImage的失真太高),希望后续版本中的chooseImage能提供自定义的压缩比例,这样就省事多了。o(* ̄▽ ̄*)ブ
这里,小程序前端页面用的是逻辑像素,而图片是物理像素,如果你drawImage的时候使用了2804 * 2804(逻辑像素),那转换成物理像素时,native会乘于density,也就是2804 * density * 2804 * density,这里会decode出一个很大的bitmap,很大可能会挂掉,目前还没有比较好的方案解决这个问题,你可以先通过在drawImage的时候设置一下width和height(换算成逻辑像素)来暂时解决一下这个问题;
denisty怎么求?大的图会变成1/9,小点的变成1/4,找不到规律。
在没有解决方案之前能不能先给一个计算density的算法? 2804这个数据也很奇怪,看起来更像是看总像素,而不是看边长的。能不能把精确的降级比例计算方法公布一下,起码开发者可以自己弥补一下。
安卓版本为5.1的魅蓝Note3也出现异常
2804 * 2804是原图图片大小
图片大小,刚才又测试安卓版本5.1的华为安卓正常,安卓版本7.1的一加3T测试异常,安卓版本6.0的魅族MX6测试异常
你这里的2804 * 2804是图片大小?还是drawImage的目标区域大小?
默默顶一下