小程序
小游戏
企业微信
微信支付
扫描小程序码分享
Bug:
用canvasPutImageData在隐藏的canvas上作图后,导出图片失败
画布隐藏,然后用canvasPutImageData作图,然后导出图片是到不出来的,把画布Hidden属性去掉就能导出了
这个应该和draw一样在隐藏的画布上也能作图
20 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
getImageData的时候canvas隐藏了吗
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你好,请提供一下机型
canvas 隐藏的时候无法导出图片啊。
私聊查下这个问题,AlbieLeung
你是按我上面的代码做的demo吗
要先canvasGetImageData,在修改data,再canvasPutImageData,再canvasToTempFilePath
你现在还在吗,我给你复现
我们写了一个demo,在hidden的情况下,也是可以正常导出的哦
我暂时先把那个功能删掉了,我晚上在做一个复现一下,APPID:wxf5a51ffeb1f8aac9
小程序审核都7天了,帮忙加加急,太慢了
二维码过期了,你上传一个开发版,然后发下你的小程序的appid吧~
关键代码
wx.downloadFile({
url: 'https://cwrjl.com/api/GetInternetPic?imgPath=' + temp.url, //仅为示例,并非真实的资源
success: function (res) {
fontctx.drawImage(res.tempFilePath, 0, 0, temp.width, temp.height)
fontctx.draw(false,function()
{
wx.canvasGetImageData({
canvasId: 'fontchangeCanvas',
x: 0,
y: 0,
width: temp.width,
height: temp.height,
success(res) {
for(let i=0;i<res.data.length;i++)
if ((i + 1) % 4 == 0 && res.data[i]!=0)
{res.data[i-3]=255;
}
let data=res.data;
console.log(data);
wx.canvasPutImageData({
data: data,
wx.canvasToTempFilePath({
console.log(res.tempFilePath)
let alertstring = 'viewlist[1].url'
that.setData({
[alertstring]: res.tempFilePath
});
})
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
getImageData的时候canvas隐藏了吗
你好,请提供一下机型
canvas 隐藏的时候无法导出图片啊。
私聊查下这个问题,AlbieLeung
你是按我上面的代码做的demo吗
要先canvasGetImageData,在修改data,再canvasPutImageData,再canvasToTempFilePath
你现在还在吗,我给你复现
我们写了一个demo,在hidden的情况下,也是可以正常导出的哦
我暂时先把那个功能删掉了,我晚上在做一个复现一下,APPID:wxf5a51ffeb1f8aac9
小程序审核都7天了,帮忙加加急,太慢了
二维码过期了,你上传一个开发版,然后发下你的小程序的appid吧~
关键代码
wx.downloadFile({
url: 'https://cwrjl.com/api/GetInternetPic?imgPath=' + temp.url, //仅为示例,并非真实的资源
success: function (res) {
fontctx.drawImage(res.tempFilePath, 0, 0, temp.width, temp.height)
fontctx.draw(false,function()
{
wx.canvasGetImageData({
canvasId: 'fontchangeCanvas',
x: 0,
y: 0,
width: temp.width,
height: temp.height,
success(res) {
for(let i=0;i<res.data.length;i++)
{
if ((i + 1) % 4 == 0 && res.data[i]!=0)
{res.data[i-3]=255;
}
}
let data=res.data;
console.log(data);
wx.canvasPutImageData({
canvasId: 'fontchangeCanvas',
x: 0,
y: 0,
width: temp.width,
data: data,
success(res) {
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: temp.width,
height: temp.height,
canvasId: 'fontchangeCanvas',
success: function (res) {
console.log(res.tempFilePath)
let alertstring = 'viewlist[1].url'
that.setData({
[alertstring]: res.tempFilePath
});
}
})
}
})
}
})
})