2012-01-13 4 views
1

QImage 내에 WAV 파일의 주파수 스펙트럼을 그립니다 (예 : http://savepic.net/2350314.jpg). WAV 파일은 좋은 시간 해상도를 고려하여 화면에 맞지 않을 정도로 길 수도 있습니다.Qt, 대형 QImage의 일부만 표시하는 저가형

파일 시스템 읽기 작업없이 전체 파일을 빠르게 srcll 처리 할 수 ​​있어야합니다.

그래서 빠른 스크롤을 위해 메모리에 큰 QImage를 유지해야합니다. 또 다른 선택은 사용자가 화면을 스크롤 할 때마다 QImage (QImages)를 다시 그리도록 요구하기 때문에 느려질 것입니다.

메모리에 큰 QImage (예 : 1024x50000)를 유지하면서 크기를 가정하면 프로그램 윈도우에 큰 QImage의 일부분을 표시 할 수 있어야합니다.

가장 저렴한 비용의 솔루션은 무엇입니까? QScrollArea 사용 또는 어쩌면 QPainter 메서드 drawImage() 오프셋 인수 사용?

답변

1

필자는 작은 사용자 정의 위젯을 빌드하고 QPainter로 paint() 메소드를 다시 구현하고 오프셋 등으로 스크롤합니다.

이미지의 필요한 부분을 표시하기 위해 QPixmap을 사용하면 더 빨리 QImage (일부)를 빠르게 그려야합니다.

+0

그러나 QPixmap과 QImage의 차이점은 무엇입니까? – pavelkolodin

+0

화면에 이미지를 표시하도록 설계되고 최적화되었습니다. http://developer.qt.nokia.com/doc/qt-4.8/qpixmap.html#details를 참조하십시오. – ChristopheD

관련 문제