Spec-Zone.ru › Qt 5.14

Класс QPicture

Класс QPicture — это устройство рисования, которое записывает и воспроизводит команды QPainter. Подробнее...

Заголовок: #include <QPicture>
qmake: QT += gui
Наследуется от: QPaintDevice
  • Список всех членов, включая унаследованные

Открытые функции

QPicture(const QPicture &pic)
QPicture(int formatVersion = -1)
QPicture & operator=(QPicture &&other)
QPicture & operator=(const QPicture &p)
virtual ~QPicture()
QRect boundingRect() const
const char * data() const
bool isNull() const
bool load(const QString &fileName, const char *format = nullptr)
bool load(QIODevice *dev, const char *format = nullptr)
bool play(QPainter *painter)
bool save(const QString &fileName, const char *format = nullptr)
bool save(QIODevice *dev, const char *format = nullptr)
void setBoundingRect(const QRect &r)
virtual void setData(const char *data, uint size)
uint size() const
void swap(QPicture &other)

Связанные нечлены

QDataStream & operator<<(QDataStream &s, const QPicture &r)
QDataStream & operator>>(QDataStream &s, QPicture &r)

Подробное описание

Объект QPicture сериализует команды рисования в устройство ввода/вывода в платформонезависимом формате. Иногда они называются метафайлами.

Qt использует собственный двоичный формат. В отличие от собственных форматов изображений (метафайлов) на многих системных платформах, Qt-картинки не имеют ограничений по содержанию. Всё, что можно нарисовать на виджете или пиксельном изображении (например, шрифты, пиксельные изображения, области, преобразованные графики и т. д.) также можно сохранить в картинке.

QPicture не зависит от разрешения, т. е. QPicture может отображаться на разных устройствах (например, svg, pdf, ps, принтер и экран), выглядя одинаково. Это, например, необходимо для предварительного просмотра печати WYSIWYG. QPicture работает с заданным разрешением системы, и масштабирует рисование, чтобы соответствовать различиям в разрешении в зависимости от системной платформы.

Пример того, как записать картинку:

        QPicture picture;
        QPainter painter;
        painter.begin(&picture);           // paint in picture
        painter.drawEllipse(10,20, 80,70); // draw an ellipse
        painter.end();                     // painting done
        picture.save("drawing.pic");       // save picture

Обратите внимание, что список команд рисования сбрасывается при каждом вызове функции QPainter::begin().

Пример того, как воспроизвести картинку:

        QPicture picture;
        picture.load("drawing.pic");           // load picture
        QPainter painter;
        painter.begin(&myImage);               // paint in myImage
        painter.drawPicture(0, 0, picture);    // draw the picture at (0,0)
        painter.end();                         // painting done

Изображения также можно отобразить с помощью play(). Доступны некоторые основные данные о картинке, например, size(), isNull() и boundingRect().

См. также QMovie.

Документация по функциям-членам

QPicture::QPicture(const QPicture &pic)

Создаёт копию pic.

Этот конструктор быстрый благодаря явной совместной работе.

QPicture::QPicture(int formatVersion = -1)

Создаёт пустую картинку.

Параметр formatVersion может использоваться для создания QPicture, которая может быть прочитана приложениями, скомпилированными с более ранними версиями Qt.

Обратите внимание, что по умолчанию formatVersion равен -1, что означает текущую версию, т. е. для Qt 4.0 formatVersion 7 эквивалентен по умолчанию formatVersion -1.

Чтение картинок, сгенерированных более ранними версиями Qt, в Qt 4.0 не поддерживается.

QPicture &QPicture::operator=(QPicture &&other)

Перемещающее присвоение other этому экземпляру QPicture.

Эта функция была добавлена в Qt 5.2.

QPicture &QPicture::operator=(const QPicture &p)

Присваивает картинку p текущей картинке и возвращает ссылку на эту картинку.

[virtual] QPicture::~QPicture()

Удаляет картинку.

QRect QPicture::boundingRect() const

Возвращает прямоугольник ограничивающий картинку или недействительный прямоугольник, если картинка не содержит данных.

См. также setBoundingRect().

const char *QPicture::data() const

Возвращает указатель на данные картинки. Указатель действителен до следующего вызова функции без const для этой картинки. Возвращаемый указатель равен 0, если картинка не содержит данных.

См. также setData(), size(), и isNull().

bool QPicture::isNull() const

Возвращает true если картинка не содержит данных; в противном случае возвращает false.

bool QPicture::load(const QString &fileName, const char *format = nullptr)

Загружает картинку из файла, указанного в fileName, и возвращает true, если успешно; в противном случае делает картинку недействительной и возвращает false.

Обратите внимание, что параметр format устарел и не оказывает никакого влияния.

См. также save().

bool QPicture::load(QIODevice *dev, const char *format = nullptr)

Это перегруженная функция.

dev — устройство для загрузки.

bool QPicture::play(QPainter *painter)

Воспроизводит картинку с помощью painter и возвращает true при успехе; в противном случае возвращает false.

Эта функция делает ровно то же самое, что и QPainter::drawPicture() с (x, y) = (0, 0).

bool QPicture::save(const QString &fileName, const char *format = nullptr)

Сохраняет картинку в файл, указанный в fileName, и возвращает true, если успешно; в противном случае возвращает false.

Обратите внимание, что параметр format устарел и не оказывает никакого влияния.

См. также load().

bool QPicture::save(QIODevice *dev, const char *format = nullptr)

Это перегруженная функция.

dev — устройство для сохранения.

void QPicture::setBoundingRect(const QRect &r)

Устанавливает прямоугольник ограничивающий картинку в r. Автоматически вычисленное значение переопределяется.

См. также boundingRect().

[virtual] void QPicture::setData(const char *data, uint size)

Устанавливает данные картинки непосредственно из data и size. Эта функция копирует входные данные.

См. также data() и size().

uint QPicture::size() const

Возвращает размер данных изображения.

См. также data().

void QPicture::swap(QPicture &other)

Меняет местами изображение other с этим изображением. Эта операция очень быстрая и никогда не терпит неудачу.

Эта функция была добавлена в Qt 4.8.

Связанные нечлены

QDataStream &operator<<(QDataStream &s, const QPicture &r)

Записывает изображение r в поток s и возвращает ссылку на поток.

QDataStream &operator>>(QDataStream &s, QPicture &r)

Читает изображение из потока s в изображение r и возвращает ссылку на поток.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qpicture.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API