【问题标题】:Qt, low cost way to display only part of large QImageQt,仅显示大型 QImage 的一部分的低成本方式
【发布时间】:2012-01-13 13:56:06
【问题描述】:

我在 QImage 中绘制 WAV 文件的频谱(例如:http://savepic.net/2350314.jpg)。考虑到良好的时间分辨率,WAV 文件可能足够长,无法放入屏幕。

我需要能够足够快地浏览整个文件,可能不需要文件系统读取操作。

所以我必须在内存中保留较大的 QImage 以便快速滚动。另一种设计会更慢,因为每次用户滚动屏幕时都需要我重新绘制 QImage (QImages)。

假设将大 QImage 保留在内存中(例如 1024x50000),我必须能够在程序窗口中显示该大 QImage 的某些部分。

什么是成本最低的解决方案?使用 QScrollArea 还是使用带有偏移参数的 QPainter 方法 drawImage()?

【问题讨论】:

    标签: qt audio scroll qpainter qimage


    【解决方案1】:

    我肯定会构建一个小的自定义小部件并使用 QPainter 重新实现它的 paint() 方法(以及使用偏移量等进行滚动)。

    使用QPixmap 显示图像的所需部分应该比本机绘制(一部分)QImage 更快。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    • 2011-10-18
    • 1970-01-01
    • 2019-08-09
    • 2021-11-12
    • 1970-01-01
    相关资源
    最近更新 更多