小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如果是 Bug:
base64的二维码数据在调试时用drawimage()可以显示出来,可是到真机上就不显示。把数据包含在image标签里可以显示出来。
是drawimage的bug吗
9 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
数据加前缀就行了,如果还draw不出来,看看draw(true)
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
至今还是不能draw base64 在真机上,开发工具可以,请问怎么解决的啊.. 替换空格也不行啊..
@赵文浩,遇到同样的问题,用base64,在页面用image标签的src显示没有问题,用canvas将小程序码绘制上去,开发工具显示也没有问题,但是如果存到tempfile就显示不出来小程序码,你具体是怎么解决的是否能指点迷津。
@赵雅,你可以将小程序码返回的数据在你的后台base64_encoded一下 (PHP),然后再返回到小程序端,加上前缀直接就能在image标签里使用了。
var code = res.image.replace(/[\r\n]/g, "") //这是替换空格,我没加这个前缀,返回的小程序码的格式base64的,然后直接加"data:image/png;base64,"
是的,
@赵文浩,要怎么加前缀?
res.image 是返回来的 小程序码
var code = res.image.replace(/[\r\n]/g, "") //这是替换空格
前缀如何加?
"data:image/png;base64," +res.image //这样吗?直接都调试工具都无法绘画出来了
嗯嗯,我在论坛里找到了问题的原因,需要将base64里的空格、换行都替换掉。
base64Url = base64Url.replace(/\ +/g, ""); //去掉空格方法
base64Url = base64Url.replace(/[\r\n]/g, "");
可以啊,前面要加前缀,已经解决了,在保存图片时将输出图片宽、高设置高一些。
用image标签也不能展示base64类型的图片数据吧,你是怎么显示出来的?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
数据加前缀就行了,如果还draw不出来,看看draw(true)
至今还是不能draw base64 在真机上,开发工具可以,请问怎么解决的啊.. 替换空格也不行啊..
@赵文浩,遇到同样的问题,用base64,在页面用image标签的src显示没有问题,用canvas将小程序码绘制上去,开发工具显示也没有问题,但是如果存到tempfile就显示不出来小程序码,你具体是怎么解决的是否能指点迷津。
@赵雅,你可以将小程序码返回的数据在你的后台base64_encoded一下 (PHP),然后再返回到小程序端,加上前缀直接就能在image标签里使用了。
var code = res.image.replace(/[\r\n]/g, "") //这是替换空格,我没加这个前缀,返回的小程序码的格式base64的,然后直接加"data:image/png;base64,"
是的,
@赵文浩,要怎么加前缀?
res.image 是返回来的 小程序码
var code = res.image.replace(/[\r\n]/g, "") //这是替换空格
前缀如何加?
"data:image/png;base64," +res.image //这样吗?直接都调试工具都无法绘画出来了
嗯嗯,我在论坛里找到了问题的原因,需要将base64里的空格、换行都替换掉。
base64Url = base64Url.replace(/\ +/g, ""); //去掉空格方法
base64Url = base64Url.replace(/[\r\n]/g, "");
可以啊,前面要加前缀,已经解决了,在保存图片时将输出图片宽、高设置高一些。
用image标签也不能展示base64类型的图片数据吧,你是怎么显示出来的?