Spec-Zone.ru › Qt 5.6

Класс QPicture

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

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

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

QPicture(int formatVersion = -1)
QPicture(const QPicture &pic)
~QPicture()
QRect boundingRect() const
const char * data() const
bool isNull() const
bool load(const QString &fileName, const char *format = Q_NULLPTR)
bool load(QIODevice *dev, const char *format = Q_NULLPTR)
bool play(QPainter *painter)
bool save(const QString &fileName, const char *format = Q_NULLPTR)
bool save(QIODevice *dev, const char *format = Q_NULLPTR)
void setBoundingRect(const QRect &r)
virtual void setData(const char *data, uint size)
uint size() const
void swap(QPicture &other)
QPicture & operator=(const QPicture &p)
QPicture & operator=(QPicture &&other)
  • 14 открытых функций унаследовано от QPaintDevice

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

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

Дополнительные унаследованные члены

  • 1 защищённая функция унаследована от QPaintDevice

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

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

Изображение сериализует команды рисования в устройство ввода-вывода в независимом от платформы формате. Иногда их называют метафайлами.

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(int formatVersion = -1)

Создаёт пустое изображение.

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

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

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

QPicture::QPicture(const QPicture &pic)

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

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

QPicture::~QPicture()

Удаляет изображение.

QRect QPicture::boundingRect() const

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

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

const char *QPicture::data() const

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

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

bool QPicture::isNull() const

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

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

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

Обратите внимание, что параметр format устарел и не будет иметь никакого эффекта.

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

bool QPicture::load(QIODevice *dev, const char *format = Q_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 = Q_NULLPTR)

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

Обратите внимание, что параметр format устарел и не будет иметь никакого эффекта.

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

bool QPicture::save(QIODevice *dev, const char *format = Q_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.

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

Присваивает изображение p этому изображению и возвращает ссылку на это изображение.

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

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

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

Связанные нечленные функции

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/archives/qt-5.6/qpicture.html

Spec-Zone.ru

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