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 |
- Liste de tous les membres, y compris les membres hérités
- QImageReader fait partie des classes de peinture.
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`.
| Constante | Valeur | Description |
|---|---|---|
QImageReader::FileNotFoundError | 1 | QImageReader 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::DeviceError | 2 | QImageReader 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::UnsupportedFormatError | 3 | Qt ne prend pas en charge le format d'image demandé. |
QImageReader::InvalidDataError | 4 | Les 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::UnknownError | 0 | Une 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 :
| Format | Type MIME | Description |
|---|---|---|
| BMP | image/bmp | Bitmap Windows |
| GIF | image/gif | Format d'échange graphique (facultatif) |
| JPG | image/jpeg | Joint Photographic Experts Group |
| PNG | image/png | Portable Network Graphics |
| PBM | image/x-portable-bitmap | Bitmap portable |
| PGM | image/x-portable-graymap | Carte grise portable |
| PPM | image/x-portable-pixmap | Pixmap portable |
| XBM | image/x-xbitmap | Bitmap X11 |
| XPM | image/x-xpixmap | Pixmap X11 |
| SVG | image/svg+xml | Graphiques 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.