返回介绍

QImageDecoder Class

发布于 2019-10-04 15:00:46 字数 4833 浏览 958 评论 0 收藏 0

The QImageDecoder class is an incremental image decoder for all supported image formats. More...

#include <qasyncimageio.h>

List of all member functions.

Public Members

  • QImageDecoder ( QImageConsumer*c )
  • ~QImageDecoder ()
  • const QImage & image ()
  • int decode ( constuchar*buffer, intlength )

Static Public Members

  • const char * formatName ( constuchar*buffer, intlength )
  • QImageFormatType * format ( constchar*name )
  • QStrList inputFormats ()
  • void registerDecoderFactory ( QImageFormatType*f )
  • void unregisterDecoderFactory ( QImageFormatType*f )

Detailed Description

The QImageDecoder class is an incremental image decoder for all supported image formats.

New formats are installed by creating objects of class QImageFormatType; the QMovie class can be used for all installed incremental image formats. QImageDecoder is only useful for creating new ways of feeding data to an QImageConsumer.

A QImageDecoder is a machine that decodes images. It takes encoded image data via its decode() method and expresses its decoding by supplying information to a QImageConsumer. It implements its decoding by using a QImageFormat created by one of the currently-existing QImageFormatType factory objects.

QImageFormatType and QImageFormat are the classes that you might need to implement support for additional image formats.

Qt supports GIF reading if it is configured that way during installation (see qgif.h). If it is, we are required to state that "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated."

Warning: If you are in a country that recognizes software patents and in which Unisys holds a patent on LZW compression and/or decompression and you want to use GIF, Unisys may require you to license that technology. Such countries include Canada, Japan, the USA, France, Germany, Italy and the UK.

GIF support may be removed completely in a future version of Qt. We recommend using the MNG or PNG format.

See also Graphics Classes, Image Processing Classes and Multimedia Classes.


Member Function Documentation

QImageDecoder::QImageDecoder ( QImageConsumer*c )

Constructs a QImageDecoder that will send change information to the QImageConsumer c.

QImageDecoder::~QImageDecoder ()

Destroys a QImageDecoder. The image it built is destroyed. The decoder built by the factory for the file format is destroyed. The consumer for which it decoded the image is not destroyed.

int QImageDecoder::decode ( constuchar*buffer, intlength )

Call this function to decode some data into image changes. The data in buffer will be decoded, sending change information to the QImageConsumer of this QImageDecoder until one of the change functions of the consumer returns FALSE. The length of the data is given in length.

Returns the number of bytes consumed: 0 if consumption is complete, and -1 if decoding fails due to invalid data.

QImageFormatType* QImageDecoder::format ( constchar*name ) [static]

Returns a QImageFormatType by name. This might be used when the user needs to force data to be interpreted as being in a certain format. name is one of the formats listed by QImageDecoder::inputFormats(). Note that you will still need to supply decodable data to result->decoderFor() before you can begin decoding the data.

const char * QImageDecoder::formatName ( constuchar*buffer, intlength ) [static]

Call this function to find the name of the format of the given header. The returned string is statically allocated. The function will look at the first length characters in the buffer.

Returns 0 if the format is not recognized.

constQImage& QImageDecoder::image ()

Returns the image currently being decoded.

QStrList QImageDecoder::inputFormats () [static]

Returns a sorted list of formats for which asynchronous loading is supported.

void QImageDecoder::registerDecoderFactory ( QImageFormatType*f ) [static]

Registers the new QImageFormatType f. This is not needed in application code because factories call this themselves.

void QImageDecoder::unregisterDecoderFactory ( QImageFormatType*f ) [static]

Unregisters the QImageFormatType f. This is not needed in application code because factories call this themselves.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文