QPicture Class
La clase QPicture es un dispositivo de pintura que graba y reproduce los comandos QPainter. Más...
| Cabecera: | #include <QPicture> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui)target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Hereda: | QPaintDevice |
- Lista de todos los miembros, incluyendo los heredados
- QPicture es parte de Clases Implícitamente Compartidas.
Funciones Públicas
| QPicture(int formatVersion = -1) | |
| QPicture(const QPicture &pic) | |
| 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) |
| QPicture & | operator=(QPicture &&other) |
| QPicture & | operator=(const QPicture &p) |
No Miembros Relacionados
| QDataStream & | operator<<(QDataStream &s, const QPicture &r) |
| QDataStream & | operator>>(QDataStream &s, QPicture &r) |
Descripción Detallada
Una imagen serializa comandos de pintado a un dispositivo IO en un formato independiente de la plataforma. A veces se denominan meta-archivos.
Las imágenes Qt utilizan un formato binario propietario. A diferencia de los formatos nativos de imagen (meta-archivo) en muchos sistemas de ventanas, las imágenes Qt no tienen limitaciones en cuanto a su contenido. Todo lo que se puede pintar en un widget o pixmap (por ejemplo, fuentes, pixmaps, regiones, gráficos transformados, etc.) también se puede almacenar en una imagen.
QPicture es independiente de la resolución, es decir, una QPicture puede mostrarse en diferentes dispositivos (por ejemplo, svg, pdf, ps, impresora y pantalla) con el mismo aspecto. Esto es necesario, por ejemplo, para la vista previa de impresión WYSIWYG. QPicture se ejecuta en los ppp por defecto del sistema, y escala el pintor para ajustarse a las diferencias de resolución según el sistema de ventanas.
Ejemplo de cómo grabar una imagen:
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
Observe que la lista de comandos del pintor se restablece en cada llamada a la función QPainter::begin().
Ejemplo de reproducción de una imagen:
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
Las imágenes también pueden dibujarse utilizando play(). Algunos datos básicos sobre una imagen están disponibles, por ejemplo, size(), isNull() y boundingRect().
Nota: QPicture utiliza QDataStream para la serialización. Se aplica same reservations contra la lectura de datos no confiables.
Véase también QMovie.
Documentación de las funciones miembro
[explicit] QPicture::QPicture(int formatVersion = -1)
Construye una imagen vacía.
El parámetro formatVersion puede usarse para crear una QPicture que pueda ser leída por aplicaciones compiladas con versiones anteriores de Qt.
Ten en cuenta que el formatVersion por defecto es -1 que significa la versión actual, es decir, para Qt 4.0 un formatVersion de 7 es lo mismo que el formatVersion por defecto de -1.
La lectura de imágenes generadas por versiones anteriores de Qt no está soportada en Qt 4.0.
QPicture::QPicture(const QPicture &pic)
Construye una copia de pic.
Este constructor es rápido gracias a la compartición implícita.
[virtual noexcept] QPicture::~QPicture()
Destruye la imagen.
QRect QPicture::boundingRect() const
Devuelve el rectángulo que delimita la imagen o un rectángulo no válido si la imagen no contiene datos.
Véase también setBoundingRect().
const char *QPicture::data() const
Devuelve un puntero a los datos de la imagen. El puntero sólo es válido hasta que se llame a la siguiente función no-const sobre esta imagen. El puntero devuelto es 0 si la imagen no contiene datos.
Véase también setData(), size() y isNull().
bool QPicture::isNull() const
Devuelve true si la imagen no contiene datos; en caso contrario devuelve false.
bool QPicture::load(const QString &fileName)
Carga una imagen desde el archivo especificado por fileName y devuelve true si tiene éxito; en caso contrario invalida la imagen y devuelve false.
Véase también save().
bool QPicture::load(QIODevice *dev)
dev es el dispositivo a utilizar para la carga.
Se trata de una función sobrecargada.
bool QPicture::play(QPainter *painter)
Reproduce la imagen utilizando painter, y devuelve true si tiene éxito; en caso contrario devuelve false.
Esta función hace exactamente lo mismo que QPainter::drawPicture() con (x, y) = (0, 0).
Nota: El estado del pintor no es preservado por esta función.
bool QPicture::save(const QString &fileName)
Guarda una imagen en el archivo especificado por fileName y devuelve true si tiene éxito; en caso contrario devuelve false.
Véase también load().
bool QPicture::save(QIODevice *dev)
dev es el dispositivo a utilizar para guardar.
Se trata de una función sobrecargada.
void QPicture::setBoundingRect(const QRect &r)
Establece el rectángulo delimitador de la imagen en r. Se anula el valor calculado automáticamente.
Véase también boundingRect().
[virtual] void QPicture::setData(const char *data, uint size)
Ajusta los datos de imagen directamente desde data y size. Esta función copia los datos de entrada.
Véase también data() y size().
uint QPicture::size() const
Devuelve el tamaño de los datos de la imagen.
Véase también data().
[noexcept] void QPicture::swap(QPicture &other)
Cambia esta imagen por other. Esta operación es muy rápida y nunca falla.
[noexcept] QPicture &QPicture::operator=(QPicture &&other)
Mover-asigna other a esta instancia QPicture.
QPicture &QPicture::operator=(const QPicture &p)
Asigna la imagen p a esta imagen y devuelve una referencia a esta imagen.
No miembros relacionados
QDataStream &operator<<(QDataStream &s, const QPicture &r)
Escribe la imagen r en el flujo s y devuelve una referencia al flujo.
QDataStream &operator>>(QDataStream &s, QPicture &r)
Lee una imagen del flujo s en la imagen r y devuelve una referencia al flujo.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.