Sur cette page

QImageReader Class

La classe QImageReader offre une interface indépendante du format permettant de lire des images à partir de fichiers ou d'autres périphériques. En savoir plus...

En-tête : #include <QImageReader>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui

Remarque : toutes les fonctions de cette classe sont réentrantes.

Types publics

enum ImageReaderError { FileNotFoundError, DeviceError, UnsupportedFormatError, InvalidDataError, UnknownError }

Fonctions publiques

QImageReader()
QImageReader(QIODevice *device, const QByteArray &format = QByteArray())
QImageReader(const QString &fileName, const QByteArray &format = QByteArray())
~QImageReader()
bool autoDetectImageFormat() const
bool autoTransform() const
QColor backgroundColor() const
bool canRead() const
QRect clipRect() const
int currentImageNumber() const
QRect currentImageRect() const
bool decideFormatFromContent() const
QIODevice *device() const
(since 6.12) QSize effectiveSize() const
QImageReader::ImageReaderError error() const
QString errorString() const
QString fileName() const
QByteArray format() const
int imageCount() const
QImage::Format imageFormat() const
bool jumpToImage(int imageNumber)
bool jumpToNextImage()
int loopCount() const
int nextImageDelay() const
int quality() const
QImage read()
bool read(QImage *image)
QRect scaledClipRect() const
QSize scaledSize() const
void setAutoDetectImageFormat(bool enabled)
void setAutoTransform(bool enabled)
void setBackgroundColor(const QColor &color)
void setClipRect(const QRect &rect)
void setDecideFormatFromContent(bool ignored)
void setDevice(QIODevice *device)
void setFileName(const QString &fileName)
void setFormat(const QByteArray &format)
void setQuality(int quality)
void setScaledClipRect(const QRect &rect)
void setScaledSize(const QSize &size)
QSize size() const
QByteArray subType() const
QList<QByteArray> supportedSubTypes() const
bool supportsAnimation() const
bool supportsOption(QImageIOHandler::ImageOption option) const
QString text(const QString &key) const
QStringList textKeys() const
QImageIOHandler::Transformations transformation() const

Membres publics statiques

(since 6.0) int allocationLimit()
QByteArray imageFormat(QIODevice *device)
QByteArray imageFormat(const QString &fileName)
QList<QByteArray> imageFormatsForMimeType(const QByteArray &mimeType)
(since 6.0) void setAllocationLimit(int mbLimit)
QList<QByteArray> supportedImageFormats()
QList<QByteArray> supportedMimeTypes()

Description détaillée

La méthode la plus courante pour lire des images consiste à utiliser les constructeurs de QImage et QPixmap, ou à appeler les méthodes QImage::load() et QPixmap::load(). QImageReader est une classe spécialisée qui vous offre davantage de contrôle lors de la lecture d’images. Par exemple, vous pouvez lire une image dans une taille spécifique en appelant ` setScaledSize()`, et vous pouvez sélectionner un rectangle de découpe, ce qui permet de ne charger que certaines parties de l’image, en appelant ` setClipRect()`. En fonction de la prise en charge sous-jacente du format d’image, cela peut permettre d’économiser de la mémoire et d’accélérer le chargement des images.

Pour lire une image, vous commencez par créer un objet QImageReader. Passez soit un nom de fichier, soit un pointeur de périphérique, ainsi que le format d’image au constructeur de QImageReader. Vous pouvez ensuite définir plusieurs options, telles que le rectangle de découpe (en appelant ` setClipRect()`) et la taille mise à l'échelle (en appelant ` setScaledSize()`). La fonction ` canRead()` renvoie l’image si le `QImageReader` est en mesure de la lire (c’est-à-dire si le format d’image est pris en charge et si le périphérique est ouvert en lecture). Appelez ` read()` pour lire l’image.

Si une erreur se produit lors de la lecture de l’image, la fonction ` read()` renverra un ` QImage` nul. Vous pouvez alors appeler ` error()` pour déterminer le type d’erreur survenue, ou ` errorString()` pour obtenir une description lisible par l’utilisateur de ce qui s’est mal passé.

Remarque : QImageReader prend le contrôle exclusif du fichier ou du périphérique qui lui est attribué. Toute tentative de modification du fichier ou du périphérique attribué pendant la durée de vie de l’objet QImageReader produira des résultats indéfinis.

Formats

Appelez supportedImageFormats() pour obtenir la liste des formats que QImageReader peut lire. QImageReader prend en charge tous les formats d’image intégrés, ainsi que tous les plugins de formats d’image prenant en charge la lecture. Appelez supportedMimeTypes() pour obtenir la liste des types MIME pris en charge, qui peut par exemple être transmise à QFileDialog::setMimeTypeFilters().

Par défaut, QImageReader détecte automatiquement le format d’image en analysant la chaîne de format fournie (facultative), le suffixe du nom de fichier et le contenu du flux de données. Vous pouvez activer ou désactiver cette fonctionnalité en appelant la méthode setAutoDetectImageFormat().

Versions haute résolution des images

Il est possible de fournir des versions haute résolution des images lorsqu’un facteur d’échelle entre les pixels du périphérique et les pixels indépendants du périphérique est appliqué.

La version haute résolution est identifiée par le suffixe @2x ajouté au nom de base. Le rapport de pixels de l'appareil de l'image lue sera défini sur la valeur 2.

Cette fonctionnalité peut être désactivée en définissant la variable d’environnement QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING.

Voir également QImageWriter, QImageIOHandler, QImageIOPlugin, QMimeDatabase, QColorSpace, QImage::devicePixelRatio(), QPixmap::devicePixelRatio(), QIcon, QPainter::drawPixmap() et QPainter::drawImage().

Documentation sur les types de membres

enum QImageReader::ImageReaderError

Cette énumération décrit les différents types d'erreurs pouvant survenir lors de la lecture d'images à l'aide de ` QImageReader`.

ConstanteValeurDescription
QImageReader::FileNotFoundError1QImageReader a été utilisée avec un nom de fichier, mais aucun fichier portant ce nom n'a été trouvé. Cela peut également se produire si le nom de fichier ne comportait aucune extension et que le fichier avec l'extension correcte n'est pas pris en charge par Qt.
QImageReader::DeviceError2QImageReader Une erreur de périphérique s’est produite lors de la lecture de l’image. Vous pouvez consulter la documentation de votre périphérique pour plus de détails sur la nature du problème.
QImageReader::UnsupportedFormatError3Qt ne prend pas en charge le format d'image demandé.
QImageReader::InvalidDataError4Les données de l'image étaient invalides et QImageReader n'a pas pu lire l'image à partir de celles-ci. Cela peut se produire si le fichier image est endommagé.
QImageReader::UnknownError0Une erreur inconnue s’est produite. Si vous obtenez cette valeur après avoir appelé read(), elle est très probablement due à un bogue dans QImageReader.

Documentation des fonctions membres

QImageReader::QImageReader()

Crée un objet QImageReader vide. Avant de lire une image, appelez la méthode setDevice() ou setFileName().

[explicit] QImageReader::QImageReader(QIODevice *device, const QByteArray &format = QByteArray())

Crée un objet QImageReader avec l'device du périphérique et le format d'image format.

[explicit] QImageReader::QImageReader(const QString &fileName, const QByteArray &format = QByteArray())

Crée un objet QImageReader avec le nom de fichier « fileName » et le format d'image « format ».

Voir également setFileName().

[noexcept] QImageReader::~QImageReader()

Détruit l'objet « QImageReader ».

[static, since 6.0] int QImageReader::allocationLimit()

Renvoie la limite d'allocation actuelle, en mégaoctets.

Cette fonction a été introduite dans Qt 6.0.

Voir également ` setAllocationLimit()`.

bool QImageReader::autoDetectImageFormat() const

Renvoie true si la détection automatique du format d'image est activée sur ce lecteur d'images ; sinon, renvoie false. Par défaut, la détection automatique est activée.

Voir aussi setAutoDetectImageFormat().

bool QImageReader::autoTransform() const

Renvoie « true » si le gestionnaire d'images applique des métadonnées de transformation aux méthodes read() et effectiveSize().

Voir également setAutoTransform(), transformation(), read() et effectiveSize().

QColor QImageReader::backgroundColor() const

Renvoie la couleur d'arrière-plan utilisée lors de la lecture d'une image. Si le format de l'image ne prend pas en charge la définition de la couleur d'arrière-plan, une couleur non valide est renvoyée.

Voir également setBackgroundColor() et read().

bool QImageReader::canRead() const

Renvoie « true » si l'image peut être lue par l'appareil (c'est-à-dire si le format de l'image est pris en charge et si l'appareil semble contenir des données valides) ; sinon, renvoie « false ».

canRead() est une fonction légère qui effectue uniquement un test rapide pour vérifier si les données de l’image sont valides. read() peut tout de même renvoyer false après que canRead() a renvoyé true, si les données de l’image sont corrompues.

Remarque : une recherche « QMimeDatabase » est généralement préférable à cette fonction pour identifier les fichiers ou données qui ne sont potentiellement pas des images.

Pour les images prenant en charge l’animation, canRead() renvoie false lorsque toutes les images ont été lues.

Voir également read(), supportedImageFormats() et QMimeDatabase.

QRect QImageReader::clipRect() const

Renvoie le rectangle de découpe (également appelé « ROI », ou « Region Of Interest ») de l'image. Si aucun rectangle de découpe n'a été défini, une erreur « QRect » est renvoyée.

Voir également setClipRect().

int QImageReader::currentImageNumber() const

Pour les formats d'image prenant en charge l'animation, cette fonction renvoie le numéro de séquence de l'image actuelle. Si le format d'image ne prend pas en charge l'animation, elle renvoie 0.

Cette fonction renvoie -1 en cas d'erreur.

Voir également supportsAnimation(), QImageIOHandler::currentImageNumber() et canRead().

QRect QImageReader::currentImageRect() const

Pour les formats d'image prenant en charge l'animation, cette fonction renvoie le rectangle correspondant à l'image actuelle. Dans le cas contraire, elle renvoie un rectangle nul.

Voir également supportsAnimation() et QImageIOHandler::currentImageRect().

bool QImageReader::decideFormatFromContent() const

Indique si le lecteur d'images doit choisir le plugin à utiliser en se basant uniquement sur le contenu du flux de données, plutôt que sur l'extension du fichier.

Voir aussi setDecideFormatFromContent().

QIODevice *QImageReader::device() const

Renvoie le périphérique actuellement attribué à QImageReader, ou nullptr si aucun périphérique n'a été attribué.

Voir également setDevice().

[since 6.12] QSize QImageReader::effectiveSize() const

Renvoie la taille effective de l'image en tenant compte de la transformation, sans lire réellement le contenu de l'image.

Si le format d'image ne prend pas en charge cette fonctionnalité, cette fonction renvoie une taille non valide. Les gestionnaires d'images intégrés à Qt prennent tous en charge cette fonctionnalité, mais les plugins de formats d'images personnalisés ne sont pas tenus de le faire.

Cette fonction a été introduite dans Qt 6.12.

Voir également setAutoTransform(), size(), QImageIOHandler::ImageOption, QImageIOHandler::option() et QImageIOHandler::supportsOption().

QImageReader::ImageReaderError QImageReader::error() const

Renvoie le type de l'erreur qui s'est produite en dernier.

Voir également ImageReaderError et errorString().

QString QImageReader::errorString() const

Renvoie une description lisible par l'utilisateur de la dernière erreur survenue.

Voir aussi ` error()`.

QString QImageReader::fileName() const

Si le périphérique actuellement attribué est un QFile, ou si la fonction setFileName() a été appelée, cette fonction renvoie le nom du fichier à partir duquel QImageReader effectue la lecture. Dans le cas contraire (c'est-à-dire si aucun périphérique n'a été attribué ou si le périphérique n'est pas un QFile), une valeur vide QString est renvoyée.

Voir également setFileName() et setDevice().

QByteArray QImageReader::format() const

Renvoie le format utilisé par l'QImageReader pour lire les images.

Vous pouvez appeler cette fonction après avoir associé un périphérique au lecteur afin de déterminer le format de ce périphérique. Par exemple :

QImageReader reader("image.png");
// reader.format() == "png"

Si le lecteur ne parvient pas à lire d’image à partir du périphérique (par exemple, s’il n’y a pas d’image ou si l’image a déjà été lue), ou si le format n’est pas pris en charge, cette fonction renvoie un QByteArray() vide.

Voir également setFormat() et supportedImageFormats().

int QImageReader::imageCount() const

Pour les formats d'image prenant en charge l'animation, cette fonction renvoie le nombre total d'images composant l'animation. Si le format ne prend pas en charge l'animation, la valeur 0 est renvoyée.

Cette fonction renvoie -1 en cas d'erreur.

Voir également supportsAnimation(), QImageIOHandler::imageCount() et canRead().

QImage::Format QImageReader::imageFormat() const

Renvoie le format de l'image, sans lire réellement son contenu. Ce format correspond à celui renvoyé par la fonction ` QImageReader::read()`, et non au format de l'image elle-même.

Si le format de l'image ne prend pas en charge cette fonctionnalité, cette fonction renvoie un format non valide.

Voir également QImageIOHandler::ImageOption, QImageIOHandler::option() et QImageIOHandler::supportsOption().

[static] QByteArray QImageReader::imageFormat(QIODevice *device)

Si cette fonction est prise en charge, elle renvoie le format d'image de l'appareil device. Sinon, elle renvoie une chaîne vide.

Voir également QImageReader::autoDetectImageFormat().

[static] QByteArray QImageReader::imageFormat(const QString &fileName)

Si cette fonction est prise en charge, elle renvoie le format d'image du fichier fileName. Sinon, elle renvoie une chaîne vide.

[static] QList<QByteArray> QImageReader::imageFormatsForMimeType(const QByteArray &mimeType)

Renvoie la liste des formats d'image correspondant à mimeType.

Notez que l'instance QGuiApplication doit être créée avant l'appel de cette fonction.

Voir également supportedImageFormats() et supportedMimeTypes().

bool QImageReader::jumpToImage(int imageNumber)

Pour les formats d'image prenant en charge l'animation, cette fonction passe directement à l'image dont le numéro de séquence est imageNumber, et renvoie « true » en cas de succès ou « false » si l'image correspondante est introuvable.

Le prochain appel à ` read()` tentera de lire cette image.

Voir également jumpToNextImage() et QImageIOHandler::jumpToImage().

bool QImageReader::jumpToNextImage()

Pour les formats d'image prenant en charge l'animation, cette fonction passe à l'image suivante, en renvoyant « true » en cas de réussite ou « false » s'il n'y a pas d'image suivante dans l'animation.

L'implémentation par défaut appelle ` read()`, puis ignore l'image obtenue, mais le gestionnaire d'images peut disposer d'une méthode plus efficace pour mettre en œuvre cette opération.

Voir également ` jumpToImage()` et ` QImageIOHandler::jumpToNextImage()`.

int QImageReader::loopCount() const

Pour les formats d'image prenant en charge l'animation, cette fonction renvoie le nombre de fois que l'animation doit être lue en boucle. Si cette fonction renvoie -1, cela peut signifier soit que l'animation doit être lue en boucle indéfiniment, soit qu'une erreur s'est produite. En cas d'erreur, la fonction canRead() renverra « false ».

Voir également supportsAnimation(), QImageIOHandler::loopCount() et canRead().

int QImageReader::nextImageDelay() const

Pour les formats d'image prenant en charge l'animation, cette fonction renvoie le nombre de millisecondes à attendre avant d'afficher l'image suivante de l'animation. Si le format d'image ne prend pas en charge l'animation, la fonction renvoie 0.

Cette fonction renvoie -1 en cas d'erreur.

Voir également supportsAnimation(), QImageIOHandler::nextImageDelay() et canRead().

int QImageReader::quality() const

Renvoie le paramètre de qualité du format d'image.

Voir aussi setQuality().

QImage QImageReader::read()

Lit une image à partir du périphérique. En cas de réussite, l'image lue est renvoyée ; dans le cas contraire, une instance ` QImage ` de type null est renvoyée. Vous pouvez alors appeler la méthode ` error()` pour connaître le type d'erreur survenue, ou la méthode ` errorString()` pour obtenir une description lisible de l'erreur.

Pour les formats d’image prenant en charge l’animation, l’appel répété de la fonction read() renverra l’image suivante. Lorsque toutes les images ont été lues, une image nulle sera renvoyée.

Voir également canRead(), supportedImageFormats(), supportsAnimation() et QMovie.

bool QImageReader::read(QImage *image)

Lit une image depuis le périphérique et la stocke dans ` image`, qui doit pointer vers un ` QImage`. Renvoie ` true ` en cas de réussite ; sinon, renvoie ` false`.

Si ` image ` a le même format et la même taille que les données d’image sur le point d’être lues, cette fonction n’aura peut-être pas besoin d’allouer une nouvelle image avant la lecture. De ce fait, elle peut s’avérer plus rapide que l’autre surchargement de `read()`, qui construit toujours une nouvelle image ; en particulier lors de la lecture de plusieurs images ayant le même format et la même taille.

QImage icon(64, 64, QImage::Format_RGB32);
QImageReader reader("icon_64x64.bmp");
if (reader.read(&icon)) {
    // Display icon
}

Pour les formats d’image prenant en charge l’animation, l’appel répété de read() renvoie l’image suivante. Lorsque toutes les images ont été lues, une image nulle est renvoyée.

Il s'agit d'une fonction surchargée.

Voir également canRead(), supportedImageFormats(), supportsAnimation() et QMovie.

QRect QImageReader::scaledClipRect() const

Renvoie le rectangle de découpe mis à l'échelle de l'image.

Voir aussi setScaledClipRect().

QSize QImageReader::scaledSize() const

Renvoie la taille mise à l'échelle de l'image.

Voir également setScaledSize().

[static, since 6.0] void QImageReader::setAllocationLimit(int mbLimit)

Définit la limite d'allocation à mbLimit mégaoctets. Les images qui nécessiteraient une allocation de mémoire QImage supérieure à cette limite seront rejetées. Si mbLimit est égal à 0, la vérification de la taille d'allocation sera désactivée.

Cette limite permet aux applications d’éviter une utilisation inattendue d’une grande quantité de mémoire lors du chargement de fichiers image corrompus. Il n’est généralement pas nécessaire de la modifier. La limite par défaut est suffisamment élevée pour toutes les tailles d’images couramment utilisées.

Lors de l’exécution, cette valeur peut être remplacée par la variable d’environnement ` QT_IMAGEIO_MAXALLOC`.

Remarque : les besoins en mémoire sont calculés pour un minimum de 32 bits par pixel, car Qt convertit généralement une image à cette profondeur lorsqu’elle est utilisée dans Qt GUI. Cela signifie que la limite d’allocation effective est nettement inférieure à mbLimit lors de la lecture d’images de 1 bpp et 8 bpp.

Cette fonction a été introduite dans Qt 6.0.

Voir également allocationLimit().

void QImageReader::setAutoDetectImageFormat(bool enabled)

Si la valeur de enabled est « true », la détection automatique du format d'image est activée ; dans le cas contraire, elle est désactivée. Par défaut, la détection automatique est activée.

QImageReader utilise une approche exhaustive pour détecter le format d’image ; tout d’abord, si vous transmettez un nom de fichier à ` QImageReader`, la fonction tentera de détecter l’extension du fichier si le nom de fichier fourni ne correspond pas à un fichier existant, en ajoutant une à une les extensions par défaut prises en charge au nom de fichier fourni. Elle utilise ensuite l’approche suivante pour détecter le format d’image :

  • Les plugins d’image sont d’abord interrogés, soit en fonction de la chaîne de format facultative, soit en fonction du suffixe du nom de fichier (si la source est un fichier). Aucune détection de contenu n’est effectuée à ce stade. QImageReader choisira le premier plugin prenant en charge la lecture de ce format.
  • Si aucun plugin ne prend en charge le format d’image, les gestionnaires intégrés de Qt sont vérifiés en fonction soit de la chaîne de format facultative, soit du suffixe du nom de fichier.
  • Si aucun plugin compatible ni aucun gestionnaire intégré n'est trouvé, chaque plugin est testé en inspectant le contenu du flux de données.
  • Si aucun plugin n’a pu détecter le format de l’image à partir du contenu des données, chaque gestionnaire d’images intégré est testé en inspectant ce contenu.
  • Enfin, si toutes les approches ci-dessus échouent, QImageReader signalera un échec lors de la tentative de lecture de l’image.

En désactivant la détection automatique du format d'image, la fonction ` QImageReader ` interroge uniquement les plugins et les gestionnaires intégrés en fonction de la chaîne de format (c'est-à-dire qu'aucune extension de nom de fichier n'est testée).

Voir également autoDetectImageFormat(), QImageIOHandler::canRead() et QImageIOPlugin::capabilities().

void QImageReader::setAutoTransform(bool enabled)

Détermine que les images renvoyées par read() et les tailles obtenues via effectiveSize() doivent se voir appliquer automatiquement des métadonnées de transformation si enabled est true.

Voir également autoTransform(), transformation(), read() et effectiveSize().

void QImageReader::setBackgroundColor(const QColor &color)

Définit la couleur d'arrière-plan sur color. Les formats d'image prenant en charge cette opération doivent initialiser l'arrière-plan à color avant la lecture d'une image.

Voir également backgroundColor() et read().

void QImageReader::setClipRect(const QRect &rect)

Définit le rectangle de découpe de l'image (également appelé ROI, ou « Region Of Interest ») sur rect. Les coordonnées de rect sont relatives à la taille de l'image non transformée, telle que renvoyée par la fonction size().

Voir également clipRect(), setScaledSize() et setScaledClipRect().

void QImageReader::setDecideFormatFromContent(bool ignored)

Si l'option « ignored » est définie sur « true », le lecteur d'images ignorera les formats ou extensions de fichiers spécifiés et choisira le plugin à utiliser uniquement en fonction du contenu du flux de données.

L'activation de cet indicateur signifie que tous les plugins d'image seront chargés. Chaque plugin lira les premiers octets des données d'image et déterminera s'il est compatible ou non.

Cela désactive également la détection automatique du format d’image.

Voir également decideFormatFromContent().

void QImageReader::setDevice(QIODevice *device)

Définit le périphérique de QImageReader sur device. Si un périphérique a déjà été défini, l'ancien périphérique est supprimé de QImageReader, mais reste inchangé par ailleurs.

Si le périphérique n’est pas encore ouvert, la fonction ` QImageReader ` tentera de l’ouvrir en mode ` ReadOnly ` en appelant la fonction `open()`. Notez que cela ne fonctionne pas pour certains périphériques, tels que ` QProcess`, ` QTcpSocket ` et ` QUdpSocket`, pour lesquels une logique plus complexe est nécessaire afin d’ouvrir le périphérique.

Voir également device() et setFileName().

void QImageReader::setFileName(const QString &fileName)

Définit le nom de fichier de ` QImageReader ` sur ` fileName`. En interne, ` QImageReader ` créera un objet ` QFile `, l'ouvrira en mode ` ReadOnly ` et l'utilisera pour lire les images.

Si fileName ne comporte pas d’extension de fichier (par exemple, .png ou .bmp), QImageReader parcourra toutes les extensions prises en charge jusqu’à ce qu’il trouve un fichier correspondant.

Voir également fileName(), setDevice() et supportedImageFormats().

void QImageReader::setFormat(const QByteArray &format)

Définit le format que QImageReader utilisera lors de la lecture des images sur format. format est une chaîne de texte insensible à la casse. Exemple :

QImageReader reader;
reader.setFormat("png"); // same as reader.setFormat("PNG");

Vous pouvez appeler la fonction ` supportedImageFormats()` pour obtenir la liste complète des formats pris en charge par ` QImageReader `.

Voir également format().

void QImageReader::setQuality(int quality)

Définit le paramètre de qualité du format d'image sur « quality ».

Certains formats d'image, en particulier ceux avec perte, impliquent un compromis entre a) la qualité visuelle de l'image obtenue et b) le temps d'exécution du décodage. Cette fonction définit le niveau de ce compromis pour les formats d'image qui le prennent en charge.

En cas de lecture d’une image redimensionnée, le paramètre de qualité peut également influencer le niveau de ce compromis entre la qualité visuelle et la vitesse d’exécution de l’algorithme de redimensionnement.

La plage de valeurs de ` quality ` dépend du format d’image. Par exemple, le format « jpeg » prend en charge une plage de qualité allant de 0 (faible qualité visuelle) à 100 (haute qualité visuelle).

Voir également quality() et setScaledSize().

void QImageReader::setScaledClipRect(const QRect &rect)

Définit le rectangle de découpe mis à l'échelle sur rect. Le rectangle de découpe mis à l'échelle correspond au rectangle de découpe (également appelé « ROI », ou « Region Of Interest ») qui est appliqué une fois l'image mise à l'échelle.

Voir également scaledClipRect() et setScaledSize().

void QImageReader::setScaledSize(const QSize &size)

Définit la taille redimensionnée de l'image à l'aide de ` size`. Le redimensionnement est effectué après le rectangle de découpe initial, mais avant l'application du rectangle de découpe redimensionné. L'algorithme utilisé pour le redimensionnement dépend du format de l'image. Par défaut (c'est-à-dire si le format de l'image ne prend pas en charge le redimensionnement), ` QImageReader ` utilise `QImage::scale()` avec `Qt::SmoothScaling`.

Si une seule dimension est définie dans ` size`, l’autre sera calculée à partir des dimensions de l’image ( natural size ) afin de conserver le rapport d’aspect.

Voir également scaledSize(), setClipRect() et setScaledClipRect().

QSize QImageReader::size() const

Renvoie la taille de l'image, sans lire réellement son contenu.

Si le format d'image ne prend pas en charge cette fonctionnalité, cette fonction renvoie une taille non valide. Les gestionnaires d'images intégrés à Qt prennent tous en charge cette fonctionnalité, mais les plugins de formats d'image personnalisés ne sont pas tenus de le faire.

Voir également effectiveSize(), QImageIOHandler::ImageOption, QImageIOHandler::option() et QImageIOHandler::supportsOption().

QByteArray QImageReader::subType() const

Renvoie le sous-type de l'image.

[static] QList<QByteArray> QImageReader::supportedImageFormats()

Renvoie la liste des formats d'image pris en charge par QImageReader.

Par défaut, Qt peut lire les formats suivants :

FormatType MIMEDescription
BMPimage/bmpBitmap Windows
GIFimage/gifFormat d'échange graphique (facultatif)
JPGimage/jpegJoint Photographic Experts Group
PNGimage/pngPortable Network Graphics
PBMimage/x-portable-bitmapBitmap portable
PGMimage/x-portable-graymapCarte grise portable
PPMimage/x-portable-pixmapPixmap portable
XBMimage/x-xbitmapBitmap X11
XPMimage/x-xpixmapPixmap X11
SVGimage/svg+xmlGraphiques vectoriels adaptables

La lecture et l'écriture de fichiers SVG sont prises en charge par le Qt SVG module. Le Qt Image Formats module offre une prise en charge de formats d’image supplémentaires.

Notez que l’instance QCoreApplication doit être créée avant l’appel de cette fonction.

Voir également setFormat(), QImageWriter::supportedImageFormats() et QImageIOPlugin.

[static] QList<QByteArray> QImageReader::supportedMimeTypes()

Renvoie la liste des types MIME pris en charge par QImageReader.

Notez que l'instance QApplication doit être créée avant l'appel de cette fonction.

Voir également supportedImageFormats() et QImageWriter::supportedMimeTypes().

QList<QByteArray> QImageReader::supportedSubTypes() const

Renvoie la liste des sous-types pris en charge par une image.

bool QImageReader::supportsAnimation() const

Renvoie « true » si le format d'image prend en charge l'animation ; sinon, la valeur « false » est renvoyée.

Voir aussi QMovie::supportedFormats().

bool QImageReader::supportsOption(QImageIOHandler::ImageOption option) const

Renvoie « true » si le lecteur prend en charge « option » ; sinon, renvoie « false ».

Les différents formats d'image prennent en charge des options différentes. Appelez cette fonction pour déterminer si une option donnée est prise en charge par le format actuel. Par exemple, le format PNG permet d’intégrer du texte dans les métadonnées de l’image (voir text()), et le format BMP permet de déterminer la taille de l’image sans charger l’intégralité de celle-ci en mémoire (voir size()).

QImageReader reader(":/image.png");
if (reader.supportsOption(QImageIOHandler::Size))
    qDebug() << "Size:" << reader.size();

Voir également QImageWriter::supportsOption().

QString QImageReader::text(const QString &key) const

Renvoie le texte de l'image associé à key.

La prise en charge de cette option est assurée par la fonction QImageIOHandler::Description.

Voir également textKeys() et QImageWriter::setText().

QStringList QImageReader::textKeys() const

Renvoie les clés de texte associées à cette image. Vous pouvez utiliser ces clés avec la fonction text() pour afficher le texte de l'image correspondant à une clé donnée.

La prise en charge de cette option est assurée par la fonction QImageIOHandler::Description.

Voir également text(), QImageWriter::setText() et QImage::textKeys().

QImageIOHandler::Transformations QImageReader::transformation() const

Renvoie les métadonnées de transformation de l'image, y compris son orientation. Si le format ne prend pas en charge les métadonnées de transformation, la valeur « QImageIOHandler::TransformationNone » est renvoyée.

Voir également setAutoTransform() et autoTransform().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.