QImageIOHandler Class Reference
[QtGui module]
该QImageIOHandler类定义Qt中的所有图像格式的图像常见的I / O接口。More…
Types
enum ImageOption { Size, ClipRect, Description, ScaledClipRect, ..., BackgroundColor }
Methods
__init__ (self)
bool canRead (self)
int currentImageNumber (self)
QRect currentImageRect (self)
QIODevice device (self)
QByteArray format (self)
int imageCount (self)
bool jumpToImage (self, int imageNumber)
bool jumpToNextImage (self)
int loopCount (self)
QByteArray name (self)
int nextImageDelay (self)
QVariant option (self, ImageOption option)
bool read (self, QImage image)
setDevice (self, QIODevice device)
setFormat (self, QByteArray format)
setOption (self, ImageOption option, QVariant value)
bool supportsOption (self, ImageOption option)
bool write (self, QImage image)
Detailed Description
该QImageIOHandler类定义Qt中的所有图像格式的图像常见的I / O接口。
Qt使用QImageIOHandler通过读取和写入图像QImageReader和QImageWriter。您也可以从这个类派生使用Qt的插件机制来编写自己的图像格式处理程序。
Call setDevice( )到设备分配给处理程序,setFormat( )的形式分配给它。一QImageIOHandler可以支持一个以上的图像格式。canRead()返回True,如果一个图像可以从设备读取,并read()和write( )返回True,如果读取或写入图像已成功完成。
QImageIOHandler也有动画格式的支持,通过功能loopCount( )imageCount( )nextImageDelay()和currentImageNumber( ) 。
为了确定哪些选项的图像处理程序支持, Qt会调用supportsOption()和setOption( ) 。请务必重新实现这些功能,如果你能提供任何在该选项的支持ImageOption枚举。
写你自己的图像处理程序,您必须至少重新实现canRead()和read( ) 。然后创建一个QImageIOPlugin它可以创建的处理程序。最后,安装插件,QImageReader和QImageWriter将自动加载该插件,并开始使用它。
Type Documentation
QImageIOHandler.ImageOption
这个枚举变量描述了所支持的不同选择QImageIOHandler。有些选项是用来查询的图像的性质,有些则是用来切换中的图像应该写入的方式。
Constant | Value | Description |
---|---|---|
QImageIOHandler.Size |
0 |
图像的原始尺寸。支持此选项的处理程序,预计从图像元数据读取的图像的大小,并从返回此尺寸option( ),为QSize。 |
QImageIOHandler.ClipRect |
1 |
剪辑矩形,或ROI (感兴趣区域) 。支持此选项的处理程序,预计只能读取提供QRect从原始图像区域read( ) ,任何其他应用转换之前。 |
QImageIOHandler.ScaledSize |
4 |
图像的缩放大小。支持此选项的处理程序,预计将图像缩放到所提供的尺寸(QSize) ,应用任何剪辑矩形变换( ClipRect )之后。如果处理程序不支持此选项,QImageReader将执行缩放图像已被读取。 |
QImageIOHandler.ScaledClipRect |
3 |
缩放剪辑矩形的图像(或ROI ,感兴趣区域) 。支持此选项的处理程序,预计申请所提供的剪辑矩形(一QRect) ,应用任何缩放( ScaleSize )或定期修剪( ClipRect )之后。如果处理程序不支持此选项,QImageReader将应用缩放剪辑矩形图像已被读取。 |
QImageIOHandler.Description |
2 |
形象的描述。一些图像格式,如GIF和PNG ,可以使文字或意见嵌入到图像数据(例如,用于存储版权信息) 。这是常见的文本存储在键 - 值对的,但一些格式存储所有的文字在一个连续的块。QImageIOHandler返回文本为一体QString,其中键和值由分隔’:’和键 - 值对是由两个换行符( \ n \ n已)分隔。例如, “标题:日落\ N \ nAuthor :吉姆·史密斯\ nSarah琼斯\ n \ n已” 。存储文本在一个单一的块格式可以使用“描述”为重点。 |
QImageIOHandler.CompressionRatio |
5 |
的图像数据的压缩比。支持此选项的处理程序,预计在写入时设置取决于此选项的值它的压缩率( int类型) 。 |
QImageIOHandler.Gamma |
6 |
图像的灰度级。支持此选项的处理程序,预计在写入时设置取决于此选项的值图像Gamma值(浮点数) 。 |
QImageIOHandler.Quality |
7 |
的图像的质量级别。支持此选项的处理程序,预计写入时设置图像质量水平取决于该选项的值(一个int ) 。 |
QImageIOHandler.Name |
8 |
该图像的名称。支持此选项的处理程序,预计从图像元数据读取的名称,并返回此作为QString或写入预期要存储在图像的元数据的名称的图像时。 |
QImageIOHandler.SubType |
9 |
图像的子类型。支持此选项的处理程序可以使用子类型值,以帮助阅读和写作的图像时。例如, PPM处理程序可以具有“ PPM ”或“ ppmraw ”的子类型的值。 |
QImageIOHandler.IncrementalReading |
10 |
支持此选项的处理程序,预计读取图像中的几次传球,就好像它是一个动画。QImageReader将把图像作为动画。 |
QImageIOHandler.Endianness |
11 |
图像的字节序。某些图像格式可以存储为大尾端或LittleEndian 。支持字节序的处理程序使用此选项的值,以确定如何在图像的存储位置。 |
QImageIOHandler.Animation |
12 |
支持动画返回True此值图像格式supportsOption( ),否则,则返回False。 |
QImageIOHandler.BackgroundColor |
13 |
某些图像格式允许指定背景颜色。支持BACKGROUNDCOLOR处理程序初始化背景色为这个选项(一QColor)读取图像时。 |
QImageIOHandler.ImageFormat |
14 |
由处理图像的数据格式返回。这可以是任意的中列出的格式QImage.Format。 |
Method Documentation
QImageIOHandler.__init__ (self)
构造一个QImageIOHandler对象。
bool QImageIOHandler.canRead (self)
这种方法是抽象的,应在任何子类中重新实现。
返回True如果图像可以从设备读取(即图像格式的支持,该设备可以读取和初始头信息表明,图像可以被读取),否则返回False 。
当重新实现的CanRead ( ) ,请确保I / O设备(device())被留在其原来的状态(例如,通过使用PEEK( ),而不是read())。
See also read()和QIODevice.peek( ) 。
int QImageIOHandler.currentImageNumber (self)
对于支持动画图像格式,该函数返回当前图像的动画序列号。如果这个函数被调用任何图像之前read( ) ,则返回-1。序列中的第一图像的数目是0。
如果图像格式不支持动画,则返回0 。
See also read( ) 。
QRect QImageIOHandler.currentImageRect (self)
[
返回当前图像的正确。如果没有RECT定义为图像,以及空查阅QRect ( )返回。
这个功能对于动画,其中帧的唯一部件可以在同一时间进行更新是有用的。
]($docs-qrect.html)
QIODevice QImageIOHandler.device (self)
返回当前分配给该设备QImageIOHandler。如果没有设备已经被分配,则返回0 。
See also setDevice( ) 。
QByteArray QImageIOHandler.format (self)
返回当前分配到的格式QImageIOHandler。如果没有指定格式已被分配,则返回一个空字符串。
See also setFormat( ) 。
int QImageIOHandler.imageCount (self)
对于支持动画图像格式,该函数返回的动画图像的数量。如果图像格式不支持动画,或者如果它是无法确定的图像的数量,则返回0 。
默认实现返回1 ,如果canRead( )返回True,否则返回0。
bool QImageIOHandler.jumpToImage (self, int imageNumber)
对于支持动画图像格式,该函数跳转到的序列号是图像imageNumber。到下一次调用read( )将尝试读取这个形象。
默认实现不执行任何操作,并返回False 。
bool QImageIOHandler.jumpToNextImage (self)
对于支持动画图像格式,该功能跳转到下一个图像。
默认实现不执行任何操作,并返回False 。
int QImageIOHandler.loopCount (self)
对于支持动画图像格式,该函数返回的时候动画应该循环的次数。如果图像格式不支持动画,则返回0 。
QByteArray QImageIOHandler.name (self)
[
int QImageIOHandler.nextImageDelay (self)
对于支持动画图像格式,该函数返回的毫秒数要等到读取下一个图像。如果图像格式不支持动画,则返回0 。
QVariant QImageIOHandler.option (self, ImageOption option)
]($docs-qbytearray.html)
返回指定的值option作为QVariant。值的类型取决于选项。例如,选项(尺寸)返回一个QSize变体。
See also setOption()和supportsOption( ) 。
bool QImageIOHandler.read (self, QImage image)
这种方法是抽象的,应在任何子类中重新实现。
从设备中读取的图像,并将其存储在image。返回True如果图像被成功读取,否则返回False 。
对于支持增量加载的图像格式,并为动画格式,图像处理程序可以假设image指向前一帧。
See also canRead( ) 。
QImageIOHandler.setDevice (self, QIODevice device)
设置的设备QImageIOHandler至device。读取和写入图像时的图像处理程序将使用该设备。
该设备只能设置一次,并调用之前必须设置canRead( )read( )write( )等,如果你需要读取多个文件,建立相应的多个实例QImageIOHandler子类。
See also device( ) 。
QImageIOHandler.setFormat (self, QByteArray format)
设置的格式QImageIOHandler至format。该格式是支持多种格式的图像处理程序非常有用。
See also format( ) 。
QImageIOHandler.setOption (self, ImageOption option, QVariant value)
设置选项option与该值value。
See also option()和ImageOption。
bool QImageIOHandler.supportsOption (self, ImageOption option)
返回True如果QImageIOHandler支持选项option否则返回False 。例如,如果QImageIOHandler支持Size选项, supportsOption (尺寸)必须返回True 。
See also setOption()和option( ) 。
bool QImageIOHandler.write (self, QImage image)
写入图像image到所分配的设备。成功时返回TRUE ,否则返回False 。
默认实现不执行任何操作,并简单地返回False 。