Spec-Zone.ru › Qt 6.0

Класс QPicture

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

Заголовок: #include <QPicture>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
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)
bool load(QIODevice *dev)
bool play(QPainter *painter)
bool save(const QString &fileName)
bool save(QIODevice *dev)
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)

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

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

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.

[since 5.2] 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

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

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

bool QPicture::isNull() const

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

bool QPicture::load(const QString &fileName)

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

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

bool QPicture::load(QIODevice *dev)

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

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

bool QPicture::play(QPainter *painter)

Воспроизводит изображение с помощью painter и возвращает true, если операция выполнена успешно; в противном случае возвращает false.

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

bool QPicture::save(const QString &fileName)

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

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

bool QPicture::save(QIODevice *dev)

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

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 с этим изображением. Эта операция очень быстрая и никогда не терпит неудачу.

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

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-6.0/qpicture.html

Spec-Zone.ru

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