Qt logo

QPicture Class Reference


The QPicture class is a paint device that records and replays QPainter commands. More...

#include <qpicture.h>

Inherits QPaintDevice.

List of all member functions.

Public Members

Protected Members


Detailed Description

The QPicture class is a paint device that records and replays QPainter commands.

A picture serializes painter commands to an IO device in a platform-independent format. A picture created under Windows can be read on a Sun SPARC.

Pictures are called meta-files on some platforms.

Qt pictures use a proprietary binary format. Unlike native picture (meta-file) formats on many window systems, Qt pictures have no limitations regarding the contents. Everything that can be painted can also be stored in a picture (fonts, pixmaps, regions, transformed graphics etc.)

Example of how to record a picture:

    QPicture  pic;
    QPainter  p;
    p.begin( &pic );                            // paint in picture
    p.drawEllipse( 10,20, 80,70 );              // draw an ellipse
    p.end();                                    // painting done
    pic.save( "drawing.pic" );                  // save picture

Example of how to replay a picture:

    QPicture  pic;
    pic.load( "drawing.pic" );                  // load picture
    QPainter  p;
    p.begin( &myWidget );                       // paint in myWidget
    p.drawPicture( pic );                       // draw the picture
    p.end();                                    // painting done

Examples: picture/picture.cpp


Member Function Documentation

QPicture::QPicture ()

Constructs an empty picture.

QPicture::~QPicture ()

Destroys the picture.

bool QPicture::cmd ( int c, QPainter *, QPDevCmdParam * p ) [virtual protected]

For internal use only.

Reimplemented from QPaintDevice.

const char * QPicture::data () const

Returns a pointer to the picture data. The returned pointer is null if the picture contains no data.

See also: size() and isNull().

bool QPicture::isNull () const

Returns TRUE if the picture contains no data, otherwise FALSE.

bool QPicture::load ( const char * fileName )

Loads a picture from the file specified by fileName and returns TRUE if successful, otherwise FALSE.

See also: save().

Examples: picture/picture.cpp

int QPicture::metric ( int m ) const [virtual protected]

Internal implementation of the virtual QPaintDevice::metric() function.

Use the QPaintDeviceMetrics class instead.

A picture has the following hard coded values: width=640, height=480. widthMM=236, heightMM=176, numcolors=16777216 and depth=24.

Reimplemented from QPaintDevice.

bool QPicture::play ( QPainter * painter )

Replays the picture using painter and returns TRUE if successful, or FALSE if the internal picture data is inconsistent.

This function does exactly the same as QPainter::drawPicture().

bool QPicture::save ( const char * fileName )

Saves a picture to the file specified by fileName and returns TRUE if successful, otherwise FALSE.

See also: load().

Examples: picture/picture.cpp

void QPicture::setData ( const char * data, uint size )

Sets the picture data directly from data and size. This function copies the input data.

See also: data() and size().

uint QPicture::size () const

Returns the size of the picture data.

See also: data().


Search the documentation, FAQ, qt-interest archive and more (uses www.troll.no):


This file is part of the Qt toolkit, copyright © 1995-98 Troll Tech, all rights reserved.

It was generated from the following files:


Copyright © 1998 Troll TechTrademarks
Qt version 1.42