关于画布保存临时文件的问题
发布于 4 年前 作者 xiuying37 9224 次浏览 来自 问答

ctx.draw(true, function () {

     wx.canvasToTempFilePath({

       canvasId: ‘posterCanvas’,

       success: function (res) {

         console.log(res.tempFilePath)

         self.setData({

           posterImageUrl: res.tempFilePath

         })

       }

     })

   })

上述代码完成后得到的posterImageUrl传递给image组件的src在开发者工具内调试时,为什么该图片无法显示?如果要实现画布完成后产生的图片文件在画面上要展示的要求,应该如何使用API?感谢回答。

10 回复

另外,我今天刚尝试了,即使是在IDE环境下Image组件中显示了canvas生成的临时图片,但在调用保存到相册的时候又提示错误信息了。

临时图片为:http://tmp/wxd391827e015e7a8e.o6zAJszN_NXmo2Tk3e6N8yM0vZfw.zwjJ96Cqe49V4cb9a595b7bcb29612cd11fb3d874a5f.png

没有呢,所以我只能改变策略,服务端生成图片。

官方小程序的开发人员,能来回复一下这个问题吗?

到底应该怎么使用。

要想显示图片,能长按保存那一种,现在只有把生成好的临时路径放到

wx.previewImage({urls: [],})

里面,就能够像正常图片一样,

不行,就是要图片正常显示;但是还是不行

Canvas保存的临时文件

IDE下产生的临时文件是http://开头的。比如:

http://tmp/wxd391827e015e7a8e.o6zAJszN_NXmo2Tk3e6N8yM0vZfw.BhDKGQnUnnqv4cb9a595b7bcb29612cd11fb3d874a5f.png

但在远程真机下文件是wxfile://开头的,比如:

wxfile://tmp_65b2490fa867834bbf83949c0e080f47.png


wxfile://协议下的临时文件,Image组件如何显示?

您好请问您是如何解决问题的

下载最新内测版本尝试了,临时文件确实能够在IDE环境下Image组件中显示了,但问题又来了,远程真机调试却又显示不出来了。

对比了下,

IDE下产生的临时文件是http://开头的。比如:

http://tmp/wxd391827e015e7a8e.o6zAJszN_NXmo2Tk3e6N8yM0vZfw.BhDKGQnUnnqv4cb9a595b7bcb29612cd11fb3d874a5f.png

但在远程真机下文件是wxfile://开头的,比如:

wxfile://tmp_65b2490fa867834bbf83949c0e080f47.png

在手机上使用<image控件中无法显示图片;但在开发工具上可以正常显示;请问这是什么问题;

求解决方案

下载最新内测版本尝试了,临时文件确实能够在IDE环境下Image组件中显示了,但问题又来了,远程真机调试却又显示不出来了。

对比了下,

IDE下产生的临时文件是http://开头的。比如:

http://tmp/wxd391827e015e7a8e.o6zAJszN_NXmo2Tk3e6N8yM0vZfw.BhDKGQnUnnqv4cb9a595b7bcb29612cd11fb3d874a5f.png

但在远程真机下文件是wxfile://开头的,比如:

wxfile://tmp_65b2490fa867834bbf83949c0e080f47.png

两者差异这么大,让开发人员如何判断开发效果?

wxss中定义的属性

.poster-class-hidden{

    visibility: hidden;

}

在IDE模式下,可以保证元素隐藏,但在真机下却不起作用了。

回到顶部