Вернуться наверх
aco.ifmo.ru photonic
вернуться в оглавление предыдущая глава предыдущий параграф следующий параграф следующая глава


Пример 3.
Отображение и конвертация выборки/полутонового изображения

3.1. Описание диалога (файл imagedialog.h)

///////////////////////////////////////////////////////////////////////////////////////////////////
// imagedialog.h
// Пример диалогового окна для отображения и конвертации выборки/полутонового изображения.
// Примечание: в этом диалоговом окне все ресурсы создаются в коде, файл с ресурсами *.ui отсутствует.
// 
// Кафедра Прикладной и компьютерной оптики, http://aco.ifmo.ru
// Университет ИТМО
///////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef DQTIMAGEDIALOG_H
#define DQTIMAGEDIALOG_H

#include <string>
#include <QImage>
#include <QLabel>
#include <QDialog>
#include <QMenuBar>

//-------------------------------------------------------------------------------------------------
class DQtImageDialog : public QDialog
{
    Q_OBJECT

public:
    // конструктор
    DQtImageDialog();
    // деструктор
    ~DQtImageDialog();

// обработка событий 
public slots:
    // обработка пункта меню "Открыть изображение"
    void onReadImage();
    // обработка пункта меню "Сохранить изображение"
    void onSaveImage();
    // обработка пункта меню "Открыть выборку"
    void onReadSample();
    // обработка пункта меню "Сохранить выборку"
    void onSaveSample();
    // обработка пункта меню "Конвертация выборки в изображение"
    void onConvertSamples();

private:
    // указатель на пункт меню "Открыть изображение"
    QAction* m_pqReadImage;
    // указатель на пункт меню "Сохранить изображение"
    QAction* m_pqSaveImage;
    // указатель на пункт меню "Открыть выборку"
    QAction* m_pqReadSample;
    // указатель на пункт меню "Сохранить выборку"
    QAction* m_pqSaveSample;
    // указатель на пункт меню "Конвертация выборки в изображение"
    QAction* m_pqConvertSamples;

    // указатель на меню
    QMenuBar* m_pqMenuBar;

    // указатель на полутоновое изображение
    QImage* m_pqImage;
    // указатель на элемент управления для отображения изображения
    QLabel* m_pqLabel;

    // инициализация всех пунктов меню
    void CreateActions();
    // создание меню
    void CreateMenus();

    // чтение выборки из файла SampleFile (размерности по X и Y считаем одинаковыми) и создание изображения rImage_p
    void ReadSample(const QString& SampleFile, QImage& rImage_p);
};
//-------------------------------------------------------------------------------------------------
#endif // DQTIMAGEDIALOG_H