floss:python:cairo-tutoriel

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
floss:python:cairo-tutoriel [2012/03/05 16:09] villersdfloss:python:cairo-tutoriel [2012/03/28 03:12] (Version actuelle) – [Installation de Pycairo sous Windows] villersd
Ligne 27: Ligne 27:
 Afin d'expliquer les opérations utilisées par Cairo, nous avons d'abord examiner de manière schématique la façon de dessiner de Cairo. Il y a seulement quelques concepts impliqués, qui sont ensuite appliqués à plusieurs reprises par les différentes méthodes. Je vais d'abord décrire les noms : destination, source, masque, chemin, et contexte. Ensuite je décrirai les [[http://www.tortall.net/mu/wiki/CairoTutorial#verbs|verbes]] qui offrent les moyens de manipuler les noms et d'en tirer les graphiques que vous souhaitez créer. Voici [[http://www.tortall.net/mu/wiki/CairoTutorial/diagram.py?raw|le code]] à l'origine de la confection de tous les diagrammes, mais je vous conseille de ne pas le lire maintenant. Afin d'expliquer les opérations utilisées par Cairo, nous avons d'abord examiner de manière schématique la façon de dessiner de Cairo. Il y a seulement quelques concepts impliqués, qui sont ensuite appliqués à plusieurs reprises par les différentes méthodes. Je vais d'abord décrire les noms : destination, source, masque, chemin, et contexte. Ensuite je décrirai les [[http://www.tortall.net/mu/wiki/CairoTutorial#verbs|verbes]] qui offrent les moyens de manipuler les noms et d'en tirer les graphiques que vous souhaitez créer. Voici [[http://www.tortall.net/mu/wiki/CairoTutorial/diagram.py?raw|le code]] à l'origine de la confection de tous les diagrammes, mais je vous conseille de ne pas le lire maintenant.
  
-Si vous trouvez les descriptions ci-dessous trop clairsemée, Donn Ingle a créé des diagrammes synoptiques en SVG qui tentent de lier le tout. Ils nécessitent [[http://inkscape.org/|Inkscape]] (ou un programme similaire) pour afficher, ainsi que deux polices spécifiques pour l'apparence correcte. Zoomez sur chaque «pages» au fur et à mesure de votre lecture. Comme Donn demande de télécharger et partager les diagrammes si on les trouve utiles, vous pourrez les télécharger en suivant ce lien.+Si vous trouvez les descriptions ci-dessous trop clairsemée, Donn Ingle a créé des diagrammes synoptiques en SVG qui tentent de relier le tout. Ils nécessitent [[http://inkscape.org/|Inkscape]] (ou un programme similaire) pour l'affichage, ainsi que deux polices spécifiques pour une apparence correcte. Zoomez sur chaques «pages» au fur et à mesure de votre lecture. Comme Donn demande de télécharger et partager les diagrammes si on les trouve utiles, vous pourrez les télécharger en suivant ce [[https://docs.google.com/leaf?id=0ByXVQD8awBcLYjc2ZWVmZmItMDlmMi00MWUzLThkMTUtMzNhNTU0YjI3M2M2&hl=en|lien]].
  
 ==== Noms ==== ==== Noms ====
Ligne 95: Ligne 95:
 === Afficher du texte / glyphes (Show Text / Glyphs) === === Afficher du texte / glyphes (Show Text / Glyphs) ===
  
-{{ :floss:python:cairo:showtext.png?direct&|}}L'opération [[http://www.cairographics.org/manual/cairo-text.html#cairo-show-text|//show_text()//]] forme le masque à partir d'un texte. On peut s'imaginer plus facilement //show_text()// comme un raccourci sur la création d'un chemin avec [[http://www.cairographics.org/manual/cairo-Paths.html#cairo-text-path|text_path()]] suivi du remplissage [[http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill|//fill()//]] pour son transfert. Soyez conscients que show_text() enregistre temporairement les [[http://fr.wikipedia.org/wiki/Glyphes|glyphes]], ce qui est d'autant plus efficace si vous travaillez avec beaucoup de texte.+{{ :floss:python:cairo:showtext.png?direct&|}}L'opération [[http://www.cairographics.org/manual/cairo-text.html#cairo-show-text|show_text()]] forme le masque à partir d'un texte. On peut s'imaginer plus facilement //show_text()// comme un raccourci sur la création d'un chemin avec [[http://www.cairographics.org/manual/cairo-Paths.html#cairo-text-path|text_path()]] suivi du remplissage [[http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-fill|//fill()//]] pour son transfert. Soyez conscients que show_text() enregistre temporairement les [[http://fr.wikipedia.org/wiki/Glyphes|glyphes]], ce qui est d'autant plus efficace si vous travaillez avec beaucoup de texte.
  
 [[http://www.tortall.net/mu/wiki/CairoTutorial/diagram.py?raw|Tutoriel Cairo : Diagrams]] (section #text) [[http://www.tortall.net/mu/wiki/CairoTutorial/diagram.py?raw|Tutoriel Cairo : Diagrams]] (section #text)
Ligne 108: Ligne 108:
 === Peindre (paint) === === Peindre (paint) ===
  
-{{ :floss:python:cairo:paint.png?direct&|}}L'opération peindre [[http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-paint|//paint()//]] utilise un masque qui transfère l'ensemble de la //source// vers la //destination//. Certaines personnes considèrent cela comme un masque infiniment grand, et d'autres considèrent cela comme une absence de masque; le résultat est le même. L'opération liée à [[http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-paint-with-alpha|paint_with_alpha()]] permet semblablement le transfert de la totalité de la source sur la destination, mais il ne transfère que le pourcentage spécifié de la couleur.+{{ :floss:python:cairo:paint.png?direct&|}}L'opération peindre [[http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-paint|paint()]] utilise un masque qui transfère l'ensemble de la //source// vers la //destination//. Certaines personnes considèrent cela comme un masque infiniment grand, et d'autres considèrent cela comme une absence de masque; le résultat est le même. L'opération liée à [[http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-paint-with-alpha|paint_with_alpha()]] permet semblablement le transfert de la totalité de la source sur la destination, mais il ne transfère que le pourcentage spécifié de la couleur.
  
 [[http://www.tortall.net/mu/wiki/CairoTutorial/diagram.py?raw|Tutoriel Cairo : Diagrams]] (section #paint) [[http://www.tortall.net/mu/wiki/CairoTutorial/diagram.py?raw|Tutoriel Cairo : Diagrams]] (section #paint)
Ligne 335: Ligne 335:
   * [[http://www.cairographics.org/pycairo/|pycairo]]   * [[http://www.cairographics.org/pycairo/|pycairo]]
   * [[http://savannah.nongnu.org/projects/things/|Things]] : animations, Python + Pycairo   * [[http://savannah.nongnu.org/projects/things/|Things]] : animations, Python + Pycairo
 +  * [[https://github.com/tbaugis/hamster_experiments]] : animation GNOME Python Cairo GTK
  
 +
 +==== Installation de Pycairo sous Windows ====
 +L'installation de Pycairo seul peut se faire via les "binary" des sites [[http://www.cairographics.org/pycairo/resources/]] (non testé) et [[http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycairo]] (ce dernier lien a été testé sous win 7 32 bits pour python 2.7 avec une **installation pré-existante du logiciel [[http://www.gimp.org/|GIMP]]** qui inclut les dll nécessaires : **OK**).
 +
 +La [[http://www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/install.html|procédure d'installation sous windows de igraph]] peut être suivie pour l'installation de PyCairo (avec des précisions sur les dll à installer manuellement; testé par des étudiants : **OK** ).
 +
 +Cependant Pycairo peut être installé en même temps que des programmes qui l'utilisent, notamment [[http://www.pygtk.org/downloads.html|PyGTK]] (non testé),... 
  
  • floss/python/cairo-tutoriel.1330960153.txt.gz
  • Dernière modification : 2012/03/05 16:09
  • de villersd