Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QImageWriter Class Reference
[QtGui module]

该QImageWriter类提供用于编写图像文件或其它设备的格式无关的接口。More...

Types

Methods

Static Methods


Detailed Description

该QImageWriter类提供用于编写图像文件或其它设备的格式无关的接口。

QImageWriter支持设置格式特定的选项,如Gamma值,压缩水平和质量,在存储图像前。如果你不需要这样的选项,您可以使用QImage.save()或QPixmap.save( )来代替。

要存储的图像,你通过构建一个QImageWriter对象开始。通过其中一个文件名或设备指针,图像格式QImageWriter的构造函数。然后,您可以设置多个选项,如伽玛值(通过调用setGamma( ) )和质量(通过调用setQuality())。canWrite( )返回True ,如果QImageWriter可写的图像(即图像格式的支持和设备是开放的写作) 。通话write( )将图像写入到设备。

如果写入图像时出现任何错误,write( )将返回False 。然后,您可以调用error()找到所发生的错误的类型,或者errorString()来得到一个什么地方出了错人类可读的描述。

Call supportedImageFormats( )对于格式QImageWriter可以写一个清单。 QImageWriter支持所有内置的图像格式,除了支持写入任何图像格式的插件。


Type Documentation

QImageWriter.ImageWriterError

这个枚举变量描述了编写图像时可能发生的错误QImageWriter

Constant Value Description
QImageWriter.DeviceError 1 QImageWriter写入图像数据时遇到的一个装置的错误。请谘询您的设备上出了什么问题的更多细节。
QImageWriter.UnsupportedFormatError 2 Qt不支持所请求的图像的格式。
QImageWriter.UnknownError 0 发生未知错误。如果在调用后得到这个值write( ) ,它是最有可能的一个错误引起的QImageWriter

Method Documentation

QImageWriter.__init__ (self)

构造一个空QImageWriter对象。写作之前,你必须调用setFormat()来设置图像格式,然后setDevice()或setFileName( ) 。

QImageWriter.__init__ (self, QIODevice device, QByteArray format)

构造一个QImageWriter使用该设备对象device和图像格式format

QImageWriter.__init__ (self, QString fileName, QByteArray format = QByteArray())

构造一个QImageWriter这将写入一个文件名为对象fileName使用的图像格式format。如果format不设置,QImageWriter将检测到的图像格式通过检查的延伸fileName

bool QImageWriter.canWrite (self)

返回True如果QImageWriter可以写的图像,也就是说,图像格式的支持以及分配的装置打开阅读。

See also write( )setDevice()和setFormat( ) 。

int QImageWriter.compression (self)

返回图像的压缩。

See also setCompression( ) 。

QString QImageWriter.description (self)

QIODevice QImageWriter.device (self)

返回当前分配给设备QImageWriter,或者0,如果没有设备已经被分配。

See also setDevice( ) 。

ImageWriterError QImageWriter.error (self)

返回上次发生错误的类型。

See also ImageWriterErrorerrorString( ) 。

QString QImageWriter.errorString (self)

返回上次发生错误的可读描述。

See also error( ) 。

QString QImageWriter.fileName (self)

如果当前分配装置是QFile,或者如果setFileName( )被调用,此函数返回文件的名称QImageWriter写入。否则(即,如果没有设备已被分配或设备不是QFile) ,空QString返回。

See also setFileName()和setDevice( ) 。

QByteArray QImageWriter.format (self)

返回格式QImageWriter用来书写的图像。

See also setFormat( ) 。

float QImageWriter.gamma (self)

返回图像的灰度级。

See also setGamma( ) 。

int QImageWriter.quality (self)

返回的图像的质量级别。

See also setQuality( ) 。

QImageWriter.setCompression (self, int compression)

这是设置一个图像的压缩图像格式的具体功能。对于不支持设置压缩图像格式,该值将被忽略。

的取值范围compression取决于图像格式。例如, “ TIFF ”格式支持两个值, 0 (不压缩)和1( LZW压缩) 。

See also compression( ) 。

QImageWriter.setDescription (self, QString description)

QImageWriter.setDevice (self, QIODevice device)

Sets QImageWriter的设备device。如果设备已经被设置,旧设备是从除去QImageWriter而在其他情况保持不变。

如果该设备尚未打开,QImageWriter将尝试在打开设备QIODevice.WriteOnly模式通过调用open ( ) 。注意,这并不对某些设备,如工作QProcessQTcpSocketQUdpSocket,其中更多的逻辑需要打开设备。

See also device()和setFileName( ) 。

QImageWriter.setFileName (self, QString fileName)

设置的文件名QImageWriterfileName。在内部,QImageWriter将创建一个QFile并在打开它QIODevice.WriteOnly模式,并写入图像时使用这个文件。

See also fileName()和setDevice( ) 。

QImageWriter.setFormat (self, QByteArray format)

设置格式QImageWriter写图像时,要会用formatformat是不区分大小写的文本字符串。例如:

 QImageWriter writer;
 writer.setFormat("png"); // same as writer.setFormat("PNG");

您可以致电supportedImageFormats( )对于格式的完整列表QImageWriter支持。

See also format( ) 。

QImageWriter.setGamma (self, float gamma)

这是一种图像格式的具体功能,用于设置图像的伽马电平到gamma。对于不支持设置的Gamma值的图像格式,该值将被忽略。

的取值范围gamma取决于图像格式。例如, “ PNG ”格式支持一个伽玛范围从0.0到1.0。

See also gamma()和quality( ) 。

QImageWriter.setQuality (self, int quality)

这是一种图像格式的具体功能,用于设置图像的质量水平来quality。对于不支持设置质量的图像格式,该值将被忽略。

的取值范围quality取决于图像格式。例如, “JPEG”格式支持的质量范围从0(低品质,高压缩)到100 (高品质,低压缩率) 。

See also quality( ) 。

QImageWriter.setText (self, QString key, QString text)

设置与该键关联图像的文字keytext。这是用于存储版权信息或图像等信息是有用的。例如:

 QImage image("some/image.jpeg");
 QImageWriter writer("images/outimage.png", "png");
 writer.setText("Author", "John Smith");
 writer.write(image);

如果你想存储数据的一个单一的块(例如,注释) ,你可以传递一个空键,或使用如“描述”一个通用密钥。

键和文本将被嵌入到图像数据后调用write( ) 。

支持这个选项是通过实施QImageIOHandler.Description

这个函数是Qt 4.1中引入。

See also QImage.setText()和QImageReader.text( ) 。

list-of-QByteArray QImageWriter.supportedImageFormats ()

传回的图像格式所支持的列表QImageWriter

默认情况下, Qt可以编写以下格式:

Format Description
BMP Windows Bitmap
JPG Joint Photographic Experts Group
JPEG Joint Photographic Experts Group
PNG Portable Network Graphics
PPM Portable Pixmap
TIFF Tagged Image File Format
XBM X11 Bitmap
XPM X11 Pixmap

读取和写入SVG文件是通过Qt的支持SVG Module

注意,这个QApplication实例必须调用此函数之前创建。

See also setFormat( )QImageReader.supportedImageFormats()和QImageIOPlugin

bool QImageWriter.supportsOption (self, QImageIOHandler.ImageOption option)

返回True如果writer支持option否则返回False 。

不同的图像格式支持不同的选项。调用此函数来判断某个选项是否支持当前格式。例如, PNG格式允许你嵌入文本到图像的元数据(见正文( ) ) 。

 QImageWriter writer(fileName);
 if (writer.supportsOption(QImageIOHandler.Description))
     writer.setText("Author", "John Smith");

之后笔者已经与格式相关的选项可以进行测试。

这个函数中引入了Qt 4.2中。

See also QImageReader.supportsOption()和setFormat( ) 。

bool QImageWriter.write (self, QImage image)

写入图像image到指定的设备或文件名。成功时返回TRUE ,否则返回False 。如果操作失败,您可以拨打error()找到所发生的错误的类型,或者errorString( )来获得错误的可读描述。

See also canWrite( )error()和errorString( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5