1

QImage 内の WAV ファイルの周波数スペクトルを描画します (例: http://savepic.net/2350314.jpg )。WAV ファイルは、十分な時間分解能を考慮すると、画面に収まらないほど長い場合があります。

おそらくファイルシステムの読み取り操作なしで、ファイル全体を十分に高速にsrcollできる必要があります。

したがって、高速スクロールのために大きな QImage をメモリに保持する必要があります。ユーザーが画面をスクロールするたびにQImage(QImages)を再描画する必要があるため、別の設計は遅くなります。

大きなQImageをメモリ(たとえば1024x50000)に保持する設計を想定すると、その大きなQImageの一部をプログラムウィンドウに表示できる必要があります。

コストが最も低いソリューションは何ですか? QScrollArea を使用するか、QPainter メソッド drawImage() をオフセット引数で使用しますか?

4

1 に答える 1

1

私は間違いなく小さなカスタム ウィジェットを作成し、その paint() メソッドを QPainter で再実装します (そしてオフセットなどでスクロールします)。

画像の必要な部分を表示するためにQPixmapを使用すると、ネイティブに QImage (の一部) を描画するよりも高速になります。

于 2012-01-13T14:01:22.680 に答える