0

我有问题。我希望大家能帮助我!我的英文不好,希望大家见谅。

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

在此处输入图像描述

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


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

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 着色器缩放

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

}

4

0 回答 0