Déformation vectorielle

Illustre comment manipuler les éléments d’une QPainterPath.

Application présentant différents paramètres de déformation vectorielle

Nous définissons un champ de déformation vectorielle en forme de lentille et l'appliquons à tous les points d'un tracé. Cela signifie que ce qui s'affiche à l'écran n'est pas le résultat d'une manipulation de pixels, mais de représentations vectorielles modifiées des glyphes eux-mêmes. Cela est visible grâce à la haute qualité des contours anti-crénelés des glyphes déformés.

Pour obtenir un tracé assez complexe, nous permettons à l’utilisateur de saisir du texte et de le convertir en tracés. Cela s’effectue à l’aide de la fonction ` QPainterPath::addText()`.

La lentille est dessinée à l’aide d’un seul appel à QPainter::drawEllipse(), en utilisant un objet « QRadialGradient » pour la remplir à l’aide d’une table de couleurs spécialisée, ce qui donne l’effet d’un reflet du soleil et d’une ombre portée. La lentille est mise en cache sous forme de pixmap pour de meilleures performances.

Exemple de projet sur code.qt.io

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