Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QImageWriter类提供用于编写图像文件或其它设备的格式无关的接口。More...
该QImageWriter类提供用于编写图像文件或其它设备的格式无关的接口。
QImageWriter支持设置格式特定的选项,如Gamma值,压缩水平和质量,在存储图像前。如果你不需要这样的选项,您可以使用QImage.save()或QPixmap.save( )来代替。
要存储的图像,你通过构建一个QImageWriter对象开始。通过其中一个文件名或设备指针,图像格式QImageWriter的构造函数。然后,您可以设置多个选项,如伽玛值(通过调用setGamma( ) )和质量(通过调用setQuality())。canWrite( )返回True ,如果QImageWriter可写的图像(即图像格式的支持和设备是开放的写作) 。通话write( )将图像写入到设备。
如果写入图像时出现任何错误,write( )将返回False 。然后,您可以调用error()找到所发生的错误的类型,或者errorString()来得到一个什么地方出了错人类可读的描述。
Call supportedImageFormats( )对于格式QImageWriter可以写一个清单。 QImageWriter支持所有内置的图像格式,除了支持写入任何图像格式的插件。
这个枚举变量描述了编写图像时可能发生的错误QImageWriter。
Constant | Value | Description |
---|---|---|
QImageWriter.DeviceError | 1 | QImageWriter写入图像数据时遇到的一个装置的错误。请谘询您的设备上出了什么问题的更多细节。 |
QImageWriter.UnsupportedFormatError | 2 | Qt不支持所请求的图像的格式。 |
QImageWriter.UnknownError | 0 | 发生未知错误。如果在调用后得到这个值write( ) ,它是最有可能的一个错误引起的QImageWriter。 |
构造一个空QImageWriter对象。写作之前,你必须调用setFormat()来设置图像格式,然后setDevice()或setFileName( ) 。
构造一个QImageWriter使用该设备对象device和图像格式format。
构造一个QImageWriter这将写入一个文件名为对象fileName使用的图像格式format。如果format不设置,QImageWriter将检测到的图像格式通过检查的延伸fileName。
返回True如果QImageWriter可以写的图像,也就是说,图像格式的支持以及分配的装置打开阅读。
See also write( )setDevice()和setFormat( ) 。
返回图像的压缩。
See also setCompression( ) 。
返回当前分配给设备QImageWriter,或者0,如果没有设备已经被分配。
See also setDevice( ) 。
返回上次发生错误的类型。
See also ImageWriterError和errorString( ) 。
返回上次发生错误的可读描述。
See also error( ) 。
如果当前分配装置是QFile,或者如果setFileName( )被调用,此函数返回文件的名称QImageWriter写入。否则(即,如果没有设备已被分配或设备不是QFile) ,空QString返回。
See also setFileName()和setDevice( ) 。
返回格式QImageWriter用来书写的图像。
See also setFormat( ) 。
返回图像的灰度级。
See also setGamma( ) 。
返回的图像的质量级别。
See also setQuality( ) 。
这是设置一个图像的压缩图像格式的具体功能。对于不支持设置压缩图像格式,该值将被忽略。
的取值范围compression取决于图像格式。例如, “ TIFF ”格式支持两个值, 0 (不压缩)和1( LZW压缩) 。
See also compression( ) 。
Sets QImageWriter的设备device。如果设备已经被设置,旧设备是从除去QImageWriter而在其他情况保持不变。
如果该设备尚未打开,QImageWriter将尝试在打开设备QIODevice.WriteOnly模式通过调用open ( ) 。注意,这并不对某些设备,如工作QProcess,QTcpSocket和QUdpSocket,其中更多的逻辑需要打开设备。
See also device()和setFileName( ) 。
设置的文件名QImageWriter至fileName。在内部,QImageWriter将创建一个QFile并在打开它QIODevice.WriteOnly模式,并写入图像时使用这个文件。
See also fileName()和setDevice( ) 。
设置格式QImageWriter写图像时,要会用format。format是不区分大小写的文本字符串。例如:
QImageWriter writer; writer.setFormat("png"); // same as writer.setFormat("PNG");
您可以致电supportedImageFormats( )对于格式的完整列表QImageWriter支持。
See also format( ) 。
这是一种图像格式的具体功能,用于设置图像的伽马电平到gamma。对于不支持设置的Gamma值的图像格式,该值将被忽略。
的取值范围gamma取决于图像格式。例如, “ PNG ”格式支持一个伽玛范围从0.0到1.0。
这是一种图像格式的具体功能,用于设置图像的质量水平来quality。对于不支持设置质量的图像格式,该值将被忽略。
的取值范围quality取决于图像格式。例如, “JPEG”格式支持的质量范围从0(低品质,高压缩)到100 (高品质,低压缩率) 。
See also quality( ) 。
设置与该键关联图像的文字key至text。这是用于存储版权信息或图像等信息是有用的。例如:
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( ) 。
传回的图像格式所支持的列表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。
返回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( ) 。
写入图像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 |