Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt在pixmap上优化绘图_Qt_Qgraphicsview_Qpainter - Fatal编程技术网

Qt在pixmap上优化绘图

Qt在pixmap上优化绘图,qt,qgraphicsview,qpainter,Qt,Qgraphicsview,Qpainter,我正在使用QPaint在QWidget上绘制 所以,我有一个大约1000 x 600的QScrollara和一个QPixmap。我想用QPainter在上面画一些线段(大约2000条线)。QPixmap非常宽(大约150000),所以我想做一些优化 我必须为pixmap做很多重绘工作。在绘制整个pixmap的内部,我想绘制QScrollara区域中的部分。我想我可以通过手动控制水平滚动条来实现。但是我想知道是否有其他的Qt类可以为我做这项工作?也许是QGraphicsView和Qgrahpics

我正在使用QPaint在QWidget上绘制

所以,我有一个大约1000 x 600的QScrollara和一个QPixmap。我想用QPainter在上面画一些线段(大约2000条线)。QPixmap非常宽(大约150000),所以我想做一些优化


我必须为pixmap做很多重绘工作。在绘制整个pixmap的内部,我想绘制QScrollara区域中的部分。我想我可以通过手动控制水平滚动条来实现。但是我想知道是否有其他的Qt类可以为我做这项工作?也许是QGraphicsView和Qgrahpics场景

我只是好奇,你是如何制作出这么大的QPixmap的?@vahancho我知道最大值大约是32768。其余的,我认为,没有显示。这就是我必须做一些优化的另一个原因。我将从加载图像的部分开始,例如,使用
QImageReader
,然后在
qscrollara
的可见部分绘制该部分。而不是绘制pixmap,而是在小部件上绘制,只绘制显示的区域。如果你迷路了,或者你自己不想优化这种筛选行为,QGraphicscene会帮你的。我肯定会在这里使用QGraphicscene/视图。您还可以使用QGLWidget将视图设置为打开OpenGL渲染,这可能也会更快。如果您在速度方面仍然存在问题,请展示您正在做的事情的代码,我们可以看看如何优化它。