Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3197
| From | "Pascal J. Bourguignon" <pjb@informatimago.com> |
|---|---|
| Newsgroups | fr.comp.lang.python |
| Subject | Re: Caraxtères graphiques |
| Date | 2019-05-29 15:32 +0200 |
| Organization | Informatimago |
| Message-ID | <m28sup2xog.fsf@despina.home> (permalink) |
| References | <b26e5faa-ae7b-463d-816e-995a08ac09e6@googlegroups.com> |
Heu Bord <heubord@gmail.com> writes: > Salut à tous > Je suis débutant en python. Je veux écrit un petit script qui dessine les caractères et les affiche comme tel. > Je voudrais avoir une piste Il faut diviser le problème. Pour dessiner quoi que ce soit, il faut une bitmap (ou un pixmap pour dessiner en couleur). Pour dessiner des caractères, il faudra avoir une description de la forme du caractère à dessiner, et effectuer le dessin, en ajustant la couleur des pixels dans la bitmap (noir/blanc) ou la pixmap (niveau de gris, couleurs). Pour afficher cette image (bitmap ou pixmap), il faut un écran graphique, et en général, un système d'interface graphique à base de fenêtre. Ce qui signifie qu'il faudra ouvrir une fenêtre, et transférer l'image pour l'affichier. Le choix du système d'interface graphique est imposé par le système sur lequel le programme devra fonctionner; dans certains cas, on a le choix de la bibliothèque d'outils graphiques (toolkit) qu'on peut utiliser (par exemple, si le système graphique est X11 on peut utiliser différents toolkits et systèmes de gestion des fenêtres). Une fois qu'on a plus d'information sur ces éléments, on peut effectuer une recherche sur les bibliothèques python existant pour s'interfacer avec, et pour manipuler directement un python les images (bitmap ou pixmap). Tu ne dis pas non plus d'où tu vas obtenir la description de la forme des caractères. Si tu veux utiliser une description standard (par exemple, une police de caractère TrueType), alors on se demande pourquoi tu veux implémenter le dessin en python, alors que les systèmes d'interfaces graphiques sont capable d'afficher du texte directement à partir de ces fichiers de police de caractères. Alors je suppose que tu veux écrire tes propres description de caractères. Mais sinon, il faudrait aussi chercher des bibliothèques python pour lire les fichiers définissant ces polices de caractères, en extraire la description d'un caractère, et l'interpréter pour effectuer son dessin. On peut vouloir faire ça lorsqu'on veut définir comme caractère des symboles qui n'existent pas dans les polices et dans les encodages standard. Par exemple, dans l'application GSharp (éditeur de partition musicale implémenté en Common Lisp), on implémente un système similaire à metafont pour définir et dessiner les caractères, et on défini de tels caractères pour les clés musicales, sous forme vectorielle. https://github.com/informatimago/gsharp/blob/master/mf.lisp https://github.com/informatimago/gsharp/blob/master/sdl.lisp#L316 Dans ce cas, le système d'interface graphique utilisé est CLIM, et on dessine "directement" dans la fenêtre avec clim:draw-design dans draw-shape, qui transforme la description vectorielle de la forme (effectue la "rasterisation") en bitmap, et l'affiche. https://github.com/informatimago/gsharp/blob/master/sdl.lisp#L289 Avec des systèmes graphiques plus rudimentaires, ça peut être plus "intéressant". Pour un débutant, il est aussi possible d'utiliser un système graphique simplifié comme PGL (Portable Graphics Library). Il semble que pgl en python utilise TkInter pour l'interface graphique, et ne passe pas par le programme Java SPL comme backend pour effectuer l'affichage dans le système de fenêtre de l'ordinateur, alors c'est encore plus simple. http://people.reed.edu/~esroberts/csci121/pgldoc/index.html http://people.reed.edu/~esroberts/csci121/programs/pgl-v0.84.zip -- __Pascal J. Bourguignon__ http://www.informatimago.com
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Caraxtères graphiques Heu Bord <heubord@gmail.com> - 2019-05-28 15:58 -0700
Re: Caraxtères graphiques Nicolas <nicolasp@aaton.com> - 2019-05-29 08:58 +0200
Re: Caraxtères graphiques "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-05-29 15:32 +0200
Re: Caraxtères graphiques "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-05-29 15:48 +0200
csiph-web