在QML中使用Char View的handleToImage

时间:2018-10-22 12:40:29

标签: qt qml qimage qchartview

我有问题。希望大家能帮助我!我的英语不好,希望大家对不起。

我有一个图表视图和一个水平滚动条。当水平滚动条在x轴上更改时,下一个数组中的点将在图表视图上绘制。我有一个图表视图和一个水平滚动条。当水平滚动条在x轴上更改时,下一个数组中的点将在图表视图上绘制。我想捕获(grabtoImage)所有图表视图,包括那些未在屏幕上显示的视图,它仅在将滚动条更改为多幅图像时显示。*例如:屏幕绘制60点(计时器60s)。当计时器为180秒时,将捕获3张图像。

enter image description here

我希望人们可以向我建议解决方案,以解决我的问题。非常感谢大家!


  

我的源代码:   在图表视图上绘制矩形:

Rectangle{
    id: recZoom
    width: 3 
    height: parent.height   

    MouseArea {
        id: mouseLeft
        anchors.fill: parent
        cursorShape: Qt.SizeHorCursor
        drag.target: parent
        drag.axis: Drag.XAxis
        onMouseXChanged{
            if(drag.active) {
                if(DisplayMain.ValueAxisX.min > 0){
                    // draw point to chart view
                    // cal position min max of scroll bar
                }
            }
        }

    }
}
  

创建ShaderEffectSource可从缩放矩形获取数据

ShaderEffectSource{
    id: shaderZoom
    width: recZoom.width
    height: recZoom.height
    live: false
    opacity: 0
    smooth: true
}
  

grabtoImage shaderzoom

if(extendFile === "pdf"){
shaderZoom.live = true;
shaderZoom.scheduleUpdate();
shaderZoom.grabToImage(function(result) {
                       result.saveToFile("something.png");
                   });

}

0 个答案:

没有答案