我正在部署一个qml应用程序,该应用程序使用画布合并不同的图像,然后使用toDataURL方法存储它。
我只在Android“Lg s3”上得到一个错误,结果字符串总是太短(与桌面或其他Android应用程序相比)。
这是我的画布代码:
Canvas
{
id: faceCanvas
width: canvasSizes
height: canvasSizes
visible: false
renderStrategy: Canvas.Threaded;
renderTarget: Canvas.Image;
property var images
property var callback
onPaint:
{
var ctx = getContext("2d");
if (images)
{
for (y = 0 ; y< nPieces ; y++)
{
ctx.drawImage(images[y], 0, 0, canvasSizes, canvasSizes )
}
}
}
onPainted:
{
if (callback)
{
var data = toDataURL('image/png')
callback(data)
}
}
}
输出永远不会显示图像的全部,它只显示其中的一小部分,例如:
左图是在画布上处理的图像,如图所示,右图是toDataURL图像结果。
我认为是一个特定的设备错误!