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通过读取和写入图像QImageReaderQImageWriter。您也可以从这个类派生使用Qt的插件机制来编写自己的图像格式处理程序。

Call setDevice( )到设备分配给处理程序,setFormat( )的形式分配给它。一QImageIOHandler可以支持一个以上的图像格式。canRead()返回True,如果一个图像可以从设备读取,并read()和write( )返回True,如果读取或写入图像已成功完成。

QImageIOHandler也有动画格式的支持,通过功能loopCount( )imageCount( )nextImageDelay()和currentImageNumber( ) 。

为了确定哪些选项的图像处理程序支持, Qt会调用supportsOption()和setOption( ) 。请务必重新实现这些功能,如果你能提供任何在该选项的支持ImageOption枚举。

写你自己的图像处理程序,您必须至少重新实现canRead()和read( ) 。然后创建一个QImageIOPlugin它可以创建的处理程序。最后,安装插件,QImageReaderQImageWriter将自动加载该插件,并开始使用它。


Type Documentation

  1. 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

  1. QImageIOHandler.__init__ (self)

构造一个QImageIOHandler对象。

  1. bool QImageIOHandler.canRead (self)

这种方法是抽象的,应在任何子类中重新实现。

返回True如果图像可以从设备读取(即图像格式的支持,该设备可以读取和初始头信息表明,图像可以被读取),否则返回False 。

当重新实现的CanRead ( ) ,请确保I / O设备(device())被留在其原来的状态(例如,通过使用PEEK( ),而不是read())。

See also read()和QIODevice.peek( ) 。

  1. int QImageIOHandler.currentImageNumber (self)

对于支持动画图像格式,该函数返回当前图像的动画序列号。如果这个函数被调用任何图像之前read( ) ,则返回-1。序列中的第一图像的数目是0。

如果图像格式不支持动画,则返回0 。

See also read( ) 。

  1. QRect QImageIOHandler.currentImageRect (self)

[

返回当前图像的正确。如果没有RECT定义为图像,以及空查阅QRect ( )返回。

这个功能对于动画,其中帧的唯一部件可以在同一时间进行更新是有用的。

]($docs-qrect.html)

  1. QIODevice QImageIOHandler.device (self)

返回当前分配给该设备QImageIOHandler。如果没有设备已经被分配,则返回0 。

See also setDevice( ) 。

  1. QByteArray QImageIOHandler.format (self)

返回当前分配到的格式QImageIOHandler。如果没有指定格式已被分配,则返回一个空字符串。

See also setFormat( ) 。

  1. int QImageIOHandler.imageCount (self)

对于支持动画图像格式,该函数返回的动画图像的数量。如果图像格式不支持动画,或者如果它是无法确定的图像的数量,则返回0 。

默认实现返回1 ,如果canRead( )返回True,否则返回0。

  1. bool QImageIOHandler.jumpToImage (self, int imageNumber)

对于支持动画图像格式,该函数跳转到的序列号是图像imageNumber。到下一次调用read( )将尝试读取这个形象。

默认实现不执行任何操作,并返回False 。

  1. bool QImageIOHandler.jumpToNextImage (self)

对于支持动画图像格式,该功能跳转到下一个图像。

默认实现不执行任何操作,并返回False 。

  1. int QImageIOHandler.loopCount (self)

对于支持动画图像格式,该函数返回的时候动画应该循环的次数。如果图像格式不支持动画,则返回0 。

  1. QByteArray QImageIOHandler.name (self)

[

  1. int QImageIOHandler.nextImageDelay (self)

对于支持动画图像格式,该函数返回的毫秒数要等到读取下一个图像。如果图像格式不支持动画,则返回0 。

  1. QVariant QImageIOHandler.option (self, ImageOption option)

]($docs-qbytearray.html)

返回指定的值option作为QVariant。值的类型取决于选项。例如,选项(尺寸)返回一个QSize变体。

See also setOption()和supportsOption( ) 。

  1. bool QImageIOHandler.read (self, QImage image)

这种方法是抽象的,应在任何子类中重新实现。

从设备中读取的图像,并将其存储在image。返回True如果图像被成功读取,否则返回False 。

对于支持增量加载的图像格式,并为动画格式,图像处理程序可以假设image指向前一帧。

See also canRead( ) 。

  1. QImageIOHandler.setDevice (self, QIODevice device)

设置的设备QImageIOHandlerdevice。读取和写入图像时的图像处理程序将使用该设备。

该设备只能设置一次,并调用之前必须设置canRead( )read( )write( )等,如果你需要读取多个文件,建立相应的多个实例QImageIOHandler子类。

See also device( ) 。

  1. QImageIOHandler.setFormat (self, QByteArray format)

设置的格式QImageIOHandlerformat。该格式是支持多种格式的图像处理程序非常有用。

See also format( ) 。

  1. QImageIOHandler.setOption (self, ImageOption option, QVariant value)

设置选项option与该值value

See also option()和ImageOption

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

返回True如果QImageIOHandler支持选项option否则返回False 。例如,如果QImageIOHandler支持Size选项, supportsOption (尺寸)必须返回True 。

See also setOption()和option( ) 。

  1. bool QImageIOHandler.write (self, QImage image)

写入图像image到所分配的设备。成功时返回TRUE ,否则返回False 。

默认实现不执行任何操作,并简单地返回False 。