Spec-Zone.ru › Qt

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

Возвращает указатель на данные изображения. Указатель действителен только до тех пор, пока для этого изображения не будет вызвана следующая функция, отличная от 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.2/qpicture.html

Spec-Zone.ru

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