# 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

- QPicture ()
- ~QPicture ()
- bool isNull () const
- uint size () const
- const char* data () const
- void setData ( const char * data, uint size )
- bool play ( QPainter * )
- bool load ( const char * fileName )
- bool save ( const char * fileName )

## Protected Members

- virtual bool cmd ( int, QPainter *, QPDevCmdParam * )
- virtual int metric ( int ) const

## 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-99 Troll Tech, all rights reserved.

It was generated from the following files:

- qpicture.h: 1998/08/21
- qpicture.cpp: 1998/11/02