Проблема в отображении последовательности изображений DICOM с использованием QT - PullRequest
0 голосов
/ 28 мая 2009

я работаю в Linux [GCC Compiler], я использую Eclipse с CDT + QT для компиляции Мне нужно отобразить последовательность изображений DICOM, используя окно QT и функции OpenGL пожалуйста, дайте мне знать, какая функция отображать последовательность изображений я использую 3 функции 1) initiallizeGL () для инициализации функций OpenGL. 2) resizeGL () вместо glutInitWindowSize () в Glut. 3) paintGL () вместо glutDisplayFunc () в Glut. 4) updateGL () вместо glutPostRedisplay () в Glut.

также, пожалуйста, дайте мне знать, какие эквивалентные функции Glut в QT glutMainLoop (); glutSwapBuffers (); glutInitDisplayMode (); glutIdleFunc (холостой ход); glutInit (& argc, argv);

Ответы [ 2 ]

4 голосов
/ 28 мая 2009

Вы сможете легко отображать изображения, просто используя QGLWidget в качестве устройства рисования, что, в зависимости от вашего конкретного варианта использования, может упростить вашу реализацию. Это нарисует изображение, используя движок рисования OpenGL в Qt. Что-то вроде следующего должно позволить вам отобразить изображение;

class CustomWidget : public QGLWidget
{ 
public:
    CustomWidget(QWidget* parent=0) : QGLWidget(parent), pix("foo.jpg")
    {

    }

protected:
    void paintEvent(QPaintEvent *pe)
    {
        QPainter p(this);
        // maybe update the pixmap
        p.drawPixmap(this->rect(),pix);
    }

private:
    QPixmap pix;
};

Если вам нужно поместить его в 3D-сцену, вам, вероятно, нужно загрузить изображение в качестве текстуры. Некоторые демки Qt OpenGL должны быть в состоянии дать вам отправную точку, например, демонстрация «Коробки»;

http://doc.trolltech.com/4.6-snapshot/demos-boxes.html

0 голосов
/ 28 мая 2009

Я бы сказал, что Qt уже позаботился о gluSwapBuffers, glutInitDisplayMode и glutInit, так что они вам не нужны. Я также не уверен, что ваше отображение функций правильное, проще говоря, Qt и Glut думают о GL по-другому, поэтому, возможно, вам придется использовать то же самое (думать по-другому) и методы Qt в значительной степени говорят сами за себя. Я бы порекомендовал скачать код KGLEngine или любого другого проекта Qt + GL, чтобы лучше понять, как он работает.

...