canvas.toDataURL("image/png", 0.8)
直接崩溃。。。在ios13出的新问题
9***@qq.com
- 发布:2019-09-27 22:00
- 更新:2020-02-21 01:39
- 阅读:2064
8 个回复
9***@qq.com (作者)
并不是ios13出现的问题。。。新版的hbuilderx都无法使用
9***@qq.com (作者)
var canvas = document.createElement("canvas");
var width = img.width;
var height = img.height;
// calculate the width and height, constraining the proportions
if(width > height) {
if(width > 100) {
height = Math.round(height = 100 / width);
width = 100;
}
} else {
if(height > 100) {
width = Math.round(width = 100 / height);
height = 100;
}
}
canvas.width = width; /设置新的图片的宽度/
canvas.height = height; /设置新的图片的长度/
打印到3,到了todataurl就直接崩了。。。
9***@qq.com (作者)
结贴。。
ios注意使用UIWebview内核,WKWebview 会出现问题
1***@qq.com
周五发现的这个问题,今天也确认了是新版hbuilderx的问题呢
邱水仙
toDataURL在安卓上是没这个跨域问题的,ios上确实有问题,不过即便没有这个bug,实际中也不可能使用这个策略啊,速度太慢了,建议你还是使用webview的draw方法吧,原生的速度还是快很多的,在安卓上尤为明显
9***@qq.com (作者)
现在在用todataurl,,,,drwa这个有相关资料麻烦能发下吗。。。没有用过,谢谢
2019-09-29 16:00
邱水仙
把你要转换的页面写在canvas webview里,然后利用draw就可以得到这个webview截图图片的base64,接下来你就可以上传或者再次利用bitmap.save方法保存为图片了
9***@qq.com (作者)
但是这样就不能压缩图片了吧,我还要利用canvas压缩图片大小
2019-09-29 16:36
邱水仙
回复 9***@qq.com: 这个截图保存出来的图片本身就是经过原生程序压缩过了的,如果你只是单纯的想压缩图片,直接用原生的压缩方法不是更简单
2019-09-29 16:48
9***@qq.com (作者)
回复 邱水仙: 我现在是用canvas压缩图片之后转换base64,还没有用过drwa,我用下试试,谢谢
2019-09-29 18:43
1***@163.com
回复 9***@qq.com: 你好,我想问一下这个问题您后来怎么解决的
2020-06-05 16:16
守护
mark ,5+app 使用,var base64 = canvas.toDataURL("image/jpeg", 1.0);就炸了
DCloud_heavensoft
因iOS13起UIWebview被列为非公开API,未来会被App Store拒绝。从HBuilderX 2.3.0+起,iOS App的默认webview从UIwebview改为了WKWebview。WKWebview与UIWebview有部分区别,包括更严格的联网或canvas跨域限制,详见:https://ask.dcloud.net.cn/article/36348
守护
5+app 不能使用https://ext.dcloud.net.cn/plugin?id=123这个插件,如何改写canvas.toDataURL方法?
plus的哪个接口可以将canvas图像转换为base64?
2020-02-21 07:39