Sur cette page

Formats d'images vectorielles dans Qt Image Formats

Qt prend en charge de nombreux formats de fichiers standard pour le chargement de données graphiques, ce qui permet aux applications d'importer du contenu produit avec d'autres outils.

Cet article se concentre sur les images vectorielles et sur les considérations à prendre en compte lors de la production de contenus graphiques vectoriels destinés à être utilisés dans une application Qt.

Note : Pour des informations générales sur la prise en charge des graphiques 2D par Qt, voir la documentation 2D Graphics in Qt.

Format de fichier : SVG

Les fichiers SVG peuvent être chargés de deux manières différentes en Qt Quick: soit en tant qu'image tramée par logiciel à l'aide du composant Image, soit en utilisant le rendu accéléré par le matériel avec VectorImage (y compris en convertissant le fichier à l'avance à l'aide de svgtoqml).

En outre, QSvgRenderer fournit un accès général au logiciel de tramage. QSvgWidget et QGraphicsSvgItem fournissent des API de commodité pour l'intégration du contenu SVG dans les applications. Qt Widgets dans les applications.

Comme base, Qt supporte les caractéristiques statiques du profil SVG 1.2 Tiny. Une liste détaillée des caractéristiques prises en charge par ce profil est disponible dans la spécification SVG 1.2 Tiny.

En outre, certaines fonctionnalités étendues sont prises en charge. Celles-ci ne sont actuellement supportées que par le rasterizer logiciel et non par le moteur de rendu accéléré par le matériel dans VectorImage ou svgtoqml.

Les fonctions interactives du SVG ne sont pas prises en charge, mais l'interaction peut facilement être mise en œuvre dans les formats Qt Quick ou Qt Widgets. Certains types d'animation spécifiques sont également pris en charge, en utilisant soit le format SMIL, soit les images clés CSS.

Voici une liste de haut niveau des fonctionnalités prises en charge et non prises en charge, qui donne un aperçu de ce à quoi il faut s'attendre. Les fonctionnalités non prises en charge seront ignorées dans la mesure du possible, de sorte que les fichiers SVG qui dépendent de fonctionnalités non prises en charge s'afficheront toujours, mais ils pourront présenter des omissions ou des erreurs.

Fonctionnalité de haut niveauRastériseur logicielVectorImageCommentaire
TransformationsOuiOui
Formes de baseOuiOuiCercles, rectangles, ellipses, lignes, polylignes et polygones
Formes arbitrairesOuiOuiTrajectoires composites construites à partir de courbes et de lignes de Bézier arbitraires.
Images matriciellesOuiOuiIncorporées et stockées sur le système de fichiers
IndirectionsOuiOuiEn particulier l'élément "utilisation".
Traitement conditionnelOuiOuiEn particulier l'élément "switch".
Mises en page de textes simplesOuiOui
Polices intégréesOuiOui
Remplissages en couleur unieOuiOui
Remplissages en dégradéOuiOui
Traits personnalisablesOuiOuiLargeur personnalisable, capitales de ligne, jonctions de ligne et tirets
Traits esthétiquesOuiNonContours qui ne s'adaptent pas à la vue
Traits dégradésOuiOui
MultimédiaNonNon
ScriptsNonNon
LiaisonNonNon

En outre, les fonctionnalités étendues suivantes sont prises en charge par SVG 1.1 et SVG 2.0 :

Fonctionnalité de haut niveauRastériseur logicielVectorImageCommentaire
MasquesOuiOui
Chemins d'écrêtageNonNon
MotifsOuiNon
MarqueursOuiNon
Symboles réutilisablesOuiOui
Filtres de post-traitementOuiOuifeColorMatrix, feFlood, feGaussianBlur, feOffset et feMerge.

Enfin, les animations suivantes sont prises en charge (les animations qui ne figurent pas dans cette liste ne sont pas prises en charge pour le moment). Pour de meilleurs résultats, les animations doivent être exportées au format CSS keyframes.

Fonctionnalité d'animationRasterizer logicielVectorImageCommentaire
Animations de transformationOuiOui
Animations de couleurOuiOui
Animations d'opacitéOuiOui
Animations de décalage de trajectoireOuiOuiAnimation de la position et de l'orientation d'un élément le long d'un chemin

Format de fichier : Lottie

Comme pour le SVG, il existe différentes façons de charger des fichiers au format Lottie dans Qt.

Le type LottieAnimation charge une image et l'affiche à l'aide d'un logiciel de tramage, comme le fait QSvgRenderer pour SVG.

En outre, le rendu accéléré par le matériel est possible en utilisant VectorImage et l'outil lottietoqml.

Afin d'utiliser les fichiers Lottie avec VectorImage, le plugin vectorimageformats inclus dans le module Qt Lottie Animation doit être déployé avec l'application. En outre, la propriété assumeTrustedSource de VectorImage doit être définie sur true.

L'outil lottietoqml peut être utilisé pour préconvertir les fichiers source Lottie en QML. Un exemple peut être trouvé dans l'exemple lottietoqml.

Voici une liste des fonctionnalités de haut niveau prises en charge par le type LottieAnimation (rasterizer logiciel) et VectorImage (y compris la pré-conversion des fichiers à l'aide de lottietoqml).

Fonctionnalité de haut niveauLottieAnimationVectorImageCommentaire
TransformationsOuiOui
FormesOuiOui
Remplissages solidesOuiOui
Remplissages en dégradéOuiOui
Traits personnalisablesOuiOuiLargeur personnalisable, têtes de ligne, jonctions de ligne et tirets
Traits dégradésNonNon
Calques d'imageOuiOuiDonnées intégrées uniquement
Couches de précompositionOuiOui
Découpage du cheminOuiOui
MattesOuiOui
MasquesNonNon
RépétiteursOuiNon
Effets de calqueEffet de remplissage uniquementNon
Couches de texteNonNon
MultimédiaNonNonLes couches audio et caméra ne sont pas prises en charge.
ExpressionsNonNon
Couches 3DNonNon
Remise à zéro du tempsNonNon

En principe, presque toutes les propriétés du format Lottie peuvent être animées. Pour une prise en charge étendue des propriétés animables, utilisez LottieAnimation. Le type VectorImage (et lottietoqml) prend en charge un sous-ensemble sélectionné de propriétés couramment utilisées pour créer des animations.

Fonctionnalité de haut niveauLottieAnimationVectorImageCommentaire
Animations de transformationOuiOui
Animations d'ajustement de trajectoireOuiOui
Animations couleurOuiOui
Animations d'opacitéOuiOui
Animations de cheminOuiOuiAnimations de morphing des points de contrôle des formes.
Mouvement le long des cheminsOuiOuiAnimation de la position et de l'orientation d'un élément le long d'un chemin
Autres animations de propriétésOuiNon

Format de fichier : Fichiers de police en tant que format d'image vectorielle

Outre les formats conventionnels pour les images vectorielles, tels que SVG, il est également possible d'utiliser des fichiers de police personnalisés dans lesquels les images vectorielles sont stockées sous forme de glyphes.

Cela présente l'avantage de pouvoir intégrer des illustrations simples dans des étiquettes de texte, avec des propriétés typographiques similaires à celles du texte. L'alignement des images sur le texte s'en trouve facilité.

L'utilisation de fichiers de polices à cette fin peut également être un moyen pratique de distribuer de grandes bibliothèques d'icônes, ainsi que de fournir des thèmes qui peuvent être remplacés au moment de l'exécution.

Cependant, l'utilisation des polices dans Qt XML est optimisée pour produire du texte, il y a donc quelques considérations à prendre en compte lorsque l'on utilise des polices d'icônes comme alternative à des composants d'images vectorielles spécialisés tels que VectorImage.

Tout d'abord, les polices de couleur seront toujours pré-rastérisées à la taille de pixel spécifiée. Cela signifie que l'application de transformations à ces éléments de texte provoquera des artefacts de mise à l'échelle. Pour les illustrations nécessitant un zoom, par exemple, il est préférable d'utiliser VectorImage.

L'utilisation des composants spécialisés est également préférable pour toute image vectorielle animée. Bien que l'extension du format de police variable rende possible les animations de morphing, ce n'est pas l'utilisation pour laquelle le système de police de Qt est optimisé. Par conséquent, l'animation des axes variables d'une police sera moins efficace que l'utilisation d'un autre format d'image vectorielle.

Ainsi, pour les images vectorielles animées et/ou multicolores, l'utilisation d'un format tel que SVG est généralement préférable. Pour les images statiques à couleur unique, l'utilisation d'une police de caractères est une option qui présente certains avantages.

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