Spec-Zone.ru › Qt 5.15

Класс 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-изображения не имеют ограничений по содержанию. Всё, что можно нарисовать на виджете или pixmap (например, шрифты, pixmaps, области, преобразованная графика и т.д.), также может быть сохранено в изображении.

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

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

        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 равно значению по умолчанию -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.15/qpicture.html

Spec-Zone.ru

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