// 问题描述:以下代码在开发工具模拟器中正常,未开启高性能模式下也正常,仅发现高性能模式下真机表现为空白
// 代码如下
const imageSize = 500;
const imageData = wx.createImageData(imageSize, imageSize) as ImageData;
const data = [...];
imageData.data.set(data);
console.log('imageData', imageData);
// 创建Canvas
const canvas = wx.createCanvas();
canvas.width = imageSize;
canvas.height = imageSize;
const ctx = canvas.getContext('2d') as CanvasRenderingContext2D;
if (!ctx) {
console.warn('Canvas not supported');
return;
}
// 将处理后的图像数据绘制到canvas上
ctx.putImageData(imageData, 0, 0);
// 保存临时文件
const tempFilePath = canvas.toTempFilePathSync({});
console.log('tempFilePath', tempFilePath);
// 清理Canvas
ctx.clearRect(0, 0, canvas.width, canvas.height);
// 分享图片
wx.showShareImageMenu({
path: tempFilePath,
needShowEntrance: true,
success: () => {},
fail: () => {},
});
偶尔会报下图这个错误:

解决了吗
网友提供的思路:先把canvas用canvas方法保存,这个地方用两个div 一个是canvas 一个是img 当点击保存的时候 先把canvas保存然后生成的路径放在img上 同时控制好两个div的隐藏于显示就可以了