Sur cette page

Formats d'images vectorielles dans Qt

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 créé à l'aide d'autres outils.

Cet article se concentre sur les images vectorielles et sur les points à prendre en compte lors de la création de contenu graphique vectoriel destiné à être utilisé dans une application Qt.

Remarque : pour des informations générales sur la prise en charge des graphiques 2D par Qt, consultez la documentation « Graphiques 2D dans Qt ».

Format de fichier : SVG

Les fichiers SVG peuvent être chargés de deux manières différentes dans Qt Quick: soit sous forme d’image rastérisée par logiciel à l’aide du composant Image, soit via un rendu accéléré par le matériel grâce à l’ VectorImage (ce qui implique notamment de convertir le fichier au préalable à l’aide de svgtoqml).

De plus, l’ QSvgRenderer fournit un accès général au rastériseur logiciel. Les méthodes ` QSvgWidget ` et ` QGraphicsSvgItem ` fournissent des API pratiques pour intégrer du contenu SVG dans Qt Widgets applications.

Par défaut, Qt prend en charge les fonctionnalités statiques du profil SVG 1.2 Tiny. Une liste détaillée des fonctionnalités prises en charge par ce profil est disponible dans la spécification SVG 1.2 Tiny.

De plus, certaines fonctionnalités étendues sont prises en charge.

Les fonctionnalités interactives du SVG ne sont pas prises en charge, mais l’interaction peut facilement être implémentée soit Qt Quick ou Qt Widgets. Certains types d’animations spécifiques sont également pris en charge, à l’aide soit du format SMIL, soit des images clés CSS.

Voici une liste générale des fonctionnalités prises en charge et non prises en charge afin de donner un aperçu de ce à quoi 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 ces fonctionnalités s’afficheront tout de même, mais ils pourront comporter des omissions ou des erreurs.

TransformationsPrise en charge
Position👍
Échelle👍
Rotation👍
Inclinaison👍
FormesPrise en charge
Ellipse/cercle👍
Rectangle👍
Polylignes et polygones👍
Chemin de Bézier👍
Marqueurs👍
Symboles👍
Formes affichablesPrise en charge
Remplissage👍
Contour👍
Dégradé linéaire👍
Dégradé radial👍
Dégradé conique👍
Motifs👍
Contour dégradé👍
Extrémités de trait👍
Jointures de trait👍
Styles de trait (pointillés, etc.)👍
Traits décoratifs👍
TextePrise en charge
Portées👍
Glyphes👍
Effets de post-traitementPrise en charge
Masques👍
feColorMatrix👍
feFlood👍
feOffset👍
feGaussianBlur👍
feMerge👍
Filtres restants🚫
Animations CSSPrise en charge
Couleurs👍
Dégradés👍
Opacité👍
Transformations👍
Décalage de trajectoire👍
Trajectoires de mouvement👍
Courbes d’accélération👍
Autres propriétés🚫
Animations SMILPrise en charge
animateTransform👍
animateColor👍
animate🚫
animateMotion🚫
définir🚫
AutresPrise en charge
Images raster👍
Utiliser l'élément👍
Élémentde commutation 👍
Contours de découpe🚫
Multimédia🚫
Scripts🚫
Liens🚫

Format de fichier : Lottie

Tout 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 rastériseur logiciel, tout comme le fait ` QSvgRenderer ` pour le format SVG.

De plus, le rendu accéléré par le matériel est possible à l’aide de ` VectorImage ` et de l’outil ` lottietoqml `.

Pour utiliser des fichiers Lottie avec ` VectorImage`, le plugin ` vectorimageformats ` inclus dans le Qt Lottie Animation module doit être déployé avec l’application. De plus, la propriété ` assumeTrustedSource ` de l’ VectorImage doit être définie sur ` true`. Un contrôle détaillé de la lecture de l’animation est disponible dans ` LottieVectorImageController`.

L’outil lottietoqml permet de pré-convertir les fichiers source Lottie au format QML. Vous trouverez un exemple à ce sujet dans l’exemple lottietoqml.

Voici une liste des fonctionnalités principales prises en charge par le type « LottieAnimation » (rastériseur logiciel) et « VectorImage » (y compris la pré-conversion de fichiers à l’aide de lottietoqml).

TransformationsPrise en charge
Position👍
Échelle👍
Rotation👍
Inclinaison👍
Opacité👍
Point d’ancrage👍
Orientation automatique👍
FormesPrise en charge
Ellipse/cercle👍
Rectangle👍
Rectangle arrondi👍
Polystar👍
Chemin de Bézier👍
Chemins rognés👍
Formes pouvant être renduesPrise en charge
Remplissage👍
Contour👍
Dégradé linéaire👍
Dégradé radial👍
Contour dégradé👍
Extrémités de trait👍
Jointures de trait👍
Styles de trait (pointillés, etc.)👍
TextePrise en charge
Remplissage👍
Contour🚫
Polices👍
Glyphes👍
Effets de post-traitementPrise en charge
Masques alpha👍
Masques de luminance👍
Effets de calque🚫
Tracés fusionnésPrise en charge
Ajouter👍
Soustraire🚫
Intersection🚫
MasquesPrise en charge
Chemin d'accès au masque👍
Union👍
Opérations supplémentaires🚫
AnimationsPrise en charge
Couleurs👍
Dégradés👍
Opacité👍
Transformations👍
Interpolation de tracé👍
Découpes👍
Marqueurs🚫
Tracés fusionnés🚫
Propriétés restantes🚫
Courbes d'accélération👍
Étirement temporel👍
Remappage temporel👍
AutresPrise en charge
Images matricielles👍
Couchesprécompilées 👍
Expressions🚫

Format de fichier : fichiers de polices au format d'image vectorielle

Outre les formats classiques de graphiques vectoriels, tels que le SVG, il est également possible d’utiliser des fichiers de polices personnalisés dans lesquels les éléments graphiques vectoriels sont stockés 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. Cela facilite ainsi l’alignement des images avec le texte.

L'utilisation de fichiers de polices à cette fin peut également constituer un moyen pratique de distribuer de vastes bibliothèques d'icônes, ainsi que de proposer des thèmes pouvant être remplacés à l'exécution.

Cependant, l’utilisation des polices dans Qt est optimisée pour la génération de texte ; il convient donc de prendre en compte certains aspects 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 couleurs seront toujours pré-rasterisées à la taille en pixels spécifiée. Cela signifie que l’application de transformations à ces éléments de texte entraînera 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 de composants spécialisés est également préférable pour toute image vectorielle animée. Bien que l’extension de format de police variable permette de réaliser des animations de morphing, ce n’est pas l’usage pour lequel le système de polices 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, il est généralement préférable d’utiliser un format tel que le SVG. Pour les images statiques et monochromes, l’utilisation d’une police constitue une option présentant 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.