我需要从QML中捕获具有Canvas
个元素的图像。尽管Canvas
显示正常,但它们未正确保存在图片快照中。
我使用了this链接解决方案中描述的QQuickWindow grabWindow
方法,图片保存在afterRendering
信号调用的UI线程中(我试过了frameSwapped
信号也是)。结果是保存了所有QML对象,但未保存Canvas
个对象。
renderStrategy
的{{1}}和renderTarget
都设置为默认值。它们很简单Canvas
,如下所示:
Canvas
我注意到多次调用Canvas {
id:canvas
onPaint:{
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(20, 0);
ctx.bezierCurveTo(-10, 90, 210, 90, 180, 0);
ctx.stroke();
//...
}
}
信号。
任何建议都非常感谢! :)