Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QTiffHandler Class Reference

#include <qtiffhandler_p.h>

+ Inheritance diagram for QTiffHandler:
+ Collaboration diagram for QTiffHandler:

Public Types

enum  Compression { NoCompression = 0 , LzwCompression = 1 }
 
- Public Types inherited from QImageIOHandler
enum  ImageOption {
  Size , ClipRect , Description , ScaledClipRect ,
  ScaledSize , CompressionRatio , Gamma , Quality ,
  Name , SubType , IncrementalReading , Endianness ,
  Animation , BackgroundColor , ImageFormat , SupportedSubTypes ,
  OptimizedWrite , ProgressiveScanWrite , ImageTransformation
}
 This enum describes the different options supported by QImageIOHandler. More...
 
enum  Transformation {
  TransformationNone = 0 , TransformationMirror = 1 , TransformationFlip = 2 , TransformationRotate180 = TransformationMirror | TransformationFlip ,
  TransformationRotate90 = 4 , TransformationMirrorAndRotate90 = TransformationMirror | TransformationRotate90 , TransformationFlipAndRotate90 = TransformationFlip | TransformationRotate90 , TransformationRotate270 = TransformationRotate180 | TransformationRotate90
}
 

Public Member Functions

 QTiffHandler ()
 
bool canRead () const override
 Returns true if an image can be read from the device (i.e., the image format is supported, the device can be read from and the initial header information suggests that the image can be read); otherwise returns false.
 
bool read (QImage *image) override
 Read an image from the device, and stores it in image.
 
bool write (const QImage &image) override
 Writes the image image to the assigned device.
 
QVariant option (ImageOption option) const override
 Returns the value assigned to option as a QVariant.
 
void setOption (ImageOption option, const QVariant &value) override
 Sets the option option with the value value.
 
bool supportsOption (ImageOption option) const override
 Returns true if the QImageIOHandler supports the option option; otherwise returns false.
 
bool jumpToNextImage () override
 For image formats that support animation, this function jumps to the next image.
 
bool jumpToImage (int imageNumber) override
 For image formats that support animation, this function jumps to the image whose sequence number is imageNumber.
 
int imageCount () const override
 For image formats that support animation, this function returns the number of images in the animation.
 
int currentImageNumber () const override
 For image formats that support animation, this function returns the sequence number of the current image in the animation.
 
- Public Member Functions inherited from QImageIOHandler
 QImageIOHandler ()
 Constructs a QImageIOHandler object.
 
virtual ~QImageIOHandler ()
 Destructs the QImageIOHandler object.
 
void setDevice (QIODevice *device)
 Sets the device of the QImageIOHandler to device.
 
QIODevicedevice () const
 Returns the device currently assigned to the QImageIOHandler.
 
void setFormat (const QByteArray &format)
 Sets the format of the QImageIOHandler to format.
 
void setFormat (const QByteArray &format) const
 Sets the format of the QImageIOHandler to format.
 
QByteArray format () const
 Returns the format that is currently assigned to QImageIOHandler.
 
virtual bool canRead () const =0
 Returns true if an image can be read from the device (i.e., the image format is supported, the device can be read from and the initial header information suggests that the image can be read); otherwise returns false.
 
virtual bool read (QImage *image)=0
 Read an image from the device, and stores it in image.
 
virtual bool write (const QImage &image)
 Writes the image image to the assigned device.
 
virtual QVariant option (ImageOption option) const
 Returns the value assigned to option as a QVariant.
 
virtual void setOption (ImageOption option, const QVariant &value)
 Sets the option option with the value value.
 
virtual bool supportsOption (ImageOption option) const
 Returns true if the QImageIOHandler supports the option option; otherwise returns false.
 
virtual bool jumpToNextImage ()
 For image formats that support animation, this function jumps to the next image.
 
virtual bool jumpToImage (int imageNumber)
 For image formats that support animation, this function jumps to the image whose sequence number is imageNumber.
 
virtual int loopCount () const
 For image formats that support animation, this function returns the number of times the animation should loop.
 
virtual int imageCount () const
 For image formats that support animation, this function returns the number of images in the animation.
 
virtual int nextImageDelay () const
 For image formats that support animation, this function returns the number of milliseconds to wait until reading the next image.
 
virtual int currentImageNumber () const
 For image formats that support animation, this function returns the sequence number of the current image in the animation.
 
virtual QRect currentImageRect () const
 Returns the rect of the current image.
 

Static Public Member Functions

static bool canRead (QIODevice *device)
 
- Static Public Member Functions inherited from QImageIOHandler
static bool allocateImage (QSize size, QImage::Format format, QImage *image)
 

Additional Inherited Members

- Protected Member Functions inherited from QImageIOHandler
 QImageIOHandler (QImageIOHandlerPrivate &dd)
 
- Protected Attributes inherited from QImageIOHandler
QScopedPointer< QImageIOHandlerPrivated_ptr
 

Detailed Description

Definition at line 13 of file qtiffhandler_p.h.

Member Enumeration Documentation

◆ Compression

Enumerator
NoCompression 
LzwCompression 

Definition at line 33 of file qtiffhandler_p.h.

Constructor & Destructor Documentation

◆ QTiffHandler()

QTiffHandler::QTiffHandler ( )

Definition at line 325 of file qtiffhandler.cpp.

Member Function Documentation

◆ canRead() [1/2]

bool QTiffHandler::canRead ( ) const
overridevirtual

Returns true if an image can be read from the device (i.e., the image format is supported, the device can be read from and the initial header information suggests that the image can be read); otherwise returns false.

When reimplementing canRead(), make sure that the I/O device (device()) is left in its original state (e.g., by using peek() rather than read()).

See also
read(), QIODevice::peek()

Implements QImageIOHandler.

Definition at line 331 of file qtiffhandler.cpp.

References QTiffHandlerPrivate::canRead(), QImageIOHandler::device(), QImageIOHandler::setFormat(), and QTiffHandlerPrivate::tiff.

Referenced by QTiffPlugin::capabilities(), and option().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canRead() [2/2]

bool QTiffHandler::canRead ( QIODevice device)
static

Definition at line 342 of file qtiffhandler.cpp.

References QTiffHandlerPrivate::canRead(), and QImageIOHandler::device().

+ Here is the call graph for this function:

◆ currentImageNumber()

int QTiffHandler::currentImageNumber ( ) const
overridevirtual

For image formats that support animation, this function returns the sequence number of the current image in the animation.

If this function is called before any image is read(), -1 is returned. The number of the first image in the sequence is 0.

If the image format does not support animation, 0 is returned.

See also
read()

Reimplemented from QImageIOHandler.

Definition at line 966 of file qtiffhandler.cpp.

References QTiffHandlerPrivate::currentDirectory.

◆ imageCount()

int QTiffHandler::imageCount ( ) const
overridevirtual

For image formats that support animation, this function returns the number of images in the animation.

If the image format does not support animation, or if it is unable to determine the number of images, 0 is returned.

The default implementation returns 1 if canRead() returns true; otherwise 0 is returned.

Reimplemented from QImageIOHandler.

Definition at line 958 of file qtiffhandler.cpp.

References QTiffHandlerPrivate::directoryCount.

◆ jumpToImage()

bool QTiffHandler::jumpToImage ( int  imageNumber)
overridevirtual

For image formats that support animation, this function jumps to the image whose sequence number is imageNumber.

The next call to read() will attempt to read this image.

The default implementation does nothing, and returns false.

Reimplemented from QImageIOHandler.

Definition at line 944 of file qtiffhandler.cpp.

References QTiffHandlerPrivate::currentDirectory, QTiffHandlerPrivate::directoryCount, and QTiffHandlerPrivate::headersRead.

◆ jumpToNextImage()

bool QTiffHandler::jumpToNextImage ( )
overridevirtual

For image formats that support animation, this function jumps to the next image.

The default implementation does nothing, and returns false.

Reimplemented from QImageIOHandler.

Definition at line 932 of file qtiffhandler.cpp.

References QTiffHandlerPrivate::currentDirectory, QTiffHandlerPrivate::directoryCount, and QTiffHandlerPrivate::headersRead.

◆ option()

QVariant QTiffHandler::option ( ImageOption  option) const
overridevirtual

Returns the value assigned to option as a QVariant.

The type of the value depends on the option. For example, option(Size) returns a QSize variant.

See also
setOption(), supportsOption()

Reimplemented from QImageIOHandler.

Definition at line 896 of file qtiffhandler.cpp.

References canRead(), QTiffHandlerPrivate::compression, QImageIOHandler::CompressionRatio, QImageIOHandler::device(), QTiffHandlerPrivate::format, QImageIOHandler::ImageFormat, QImageIOHandler::ImageTransformation, QTiffHandlerPrivate::readHeaders(), QImageIOHandler::Size, QTiffHandlerPrivate::size, and QTiffHandlerPrivate::transformation.

+ Here is the call graph for this function:

◆ read()

bool QTiffHandler::read ( QImage image)
overridevirtual

Read an image from the device, and stores it in image.

Returns true if the image is successfully read; otherwise returns false.

For image formats that support incremental loading, and for animation formats, the image handler can assume that image points to the previous frame.

See also
canRead()

Implements QImageIOHandler.

Definition at line 347 of file qtiffhandler.cpp.

References QImageIOHandler::allocateImage(), QTiffHandlerPrivate::close(), QImageIOHandler::device(), QTiffHandlerPrivate::floatingPoint, QTiffHandlerPrivate::format, QImage::Format_Grayscale16, QImage::Format_Grayscale8, QImage::Format_Indexed8, QImage::Format_Mono, QImage::Format_RGBA16FPx4, QImage::Format_RGBA16FPx4_Premultiplied, QImage::Format_RGBA32FPx4, QImage::Format_RGBA32FPx4_Premultiplied, QImage::Format_RGBA64, QImage::Format_RGBA64_Premultiplied, QImage::Format_RGBX16FPx4, QImage::Format_RGBX32FPx4, QImage::Format_RGBX64, QColorSpace::fromIccProfile(), QTiffHandlerPrivate::grayscale, QSize::height(), i, QTiffHandlerPrivate::photometric, qMin(), qRgb(), qRound(), qt2Exif(), QTiffHandlerPrivate::readHeaders(), red, QTiffHandlerPrivate::size, QTiffHandlerPrivate::tiff, QTiffHandlerPrivate::transformation, and QSize::width().

+ Here is the call graph for this function:

◆ setOption()

void QTiffHandler::setOption ( ImageOption  option,
const QVariant value 
)
overridevirtual

Sets the option option with the value value.

See also
option(), ImageOption

Reimplemented from QImageIOHandler.

Definition at line 913 of file qtiffhandler.cpp.

References QTiffHandlerPrivate::compression, QImageIOHandler::CompressionRatio, QImageIOHandler::ImageTransformation, qBound(), and QTiffHandlerPrivate::transformation.

+ Here is the call graph for this function:

◆ supportsOption()

bool QTiffHandler::supportsOption ( ImageOption  option) const
overridevirtual

Returns true if the QImageIOHandler supports the option option; otherwise returns false.

For example, if the QImageIOHandler supports the \l Size option, supportsOption(Size) must return true.

See also
setOption(), option()

Reimplemented from QImageIOHandler.

Definition at line 924 of file qtiffhandler.cpp.

References QImageIOHandler::CompressionRatio, QImageIOHandler::ImageFormat, QImageIOHandler::ImageTransformation, and QImageIOHandler::Size.

◆ write()

bool QTiffHandler::write ( const QImage image)
overridevirtual

The documentation for this class was generated from the following files: