Sign in Join
Wiki copytemporary

LazPaint scripts/fr: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: LazPaint scripts/fr

OldNewLine
1+[[LazPaint|Retour]]
2+
3+Les scripts sont accessibles depuis le menu **Script**. Ils sont en langage Python et stockés dans le répertoire *scripts* de l'application.
4+
5+## Scripts fournis
6+
7+- Channels: séparer les canaux de couleur RGB ou HSL.
8+- Layer effects: effets de calques connus comme ombre, contour ou couleur.
9+- Mask: fonctions pour créer un masque de calque.
10+- Render: des exemple d'utilisation des outils depuis un script
11+- Version: affiche la version de Python
12+
13+## Comment faire un script
14+
15+Un script est un fichier texte avec l'extension .py qui contient le code à exécuter. La première ligne contient un commentaire avec le titre du script:
16+
17+`# Mon script`
18+
19+Ou si vous le voulez dans un sous-menu:
20+
21+`# Mon menu > Mon script`
22+
23+Vous aurez besoin de modules pour communiquer avec LazPaint depuis le script, alors par exemple pour afficher un message vous écririez:
24+
25+`from lazpaint import dialog`
26+
27+Pour utiliser la fonction du module:
28+
29+`dialog.show_message("bonjour monde")`
30+
31+Ainsi voilà notre programme bonjour:
32+
33+`# Tutoriel > Bonjour`\
34+`from lazpaint import dialog`\
35+`dialog.show_message("bonjour monde")`
36+
37+## Lancer un script
38+
39+### Lancer depuis un dossier utilisateur
40+
41+Vous pouvez sauvegarder votre script dans vos documents et depuis LazPaint utiliser le menu **Script \> Exécuter script** pour parcourir les dossiers.
42+
43+### Lancer depuis le menu Script
44+
45+Alternativement vous pouvez ajouter votre script au menu de LazPaint. Pour cela, utiliser les droits administrateurs, copier le fichier script dans le répertoire *scripts* de LazPaint:
46+
47+- Sous Windows: *C:\Program Files\LazPaint\scripts*
48+- Sous Linux: */usr/share/lazpaint/scripts*
49+
50+Notez que la première ligne doit commencer par \# et ne pas avoir d'espace avant. Redémarrez LazPaint pour mettre à jour le menu Script.
51+
52+## Modules disponibles
53+
54+- colors: définitions des couleurs et des filtres de couleur
55+- command: envoyer des commandes brutes et récupérer la version de LazPaint
56+- dialog: afficher des messages et boites de dialogue
57+- filters: appliquer des filtres (autres que de couleur)
58+- image: nouveau, charger, tourner...
59+- imagelist: utiliser la liste d'image (image suivante, ajouter des fichiers)
60+- layer: configurer les calques, accéder aux pixels
61+- selection: agir sur la sélection (en particulier la sélection bleue)
62+- tools: utiliser les outils en donnant les positions de souris et les appuis de touches
63+- view: zoom et grille
64+
65+## Grouper les changements
66+
67+Généralement on veut que les script soit annulable en cliquant une seule fois sur Annuler. Pour cela, vous devez groupez les changements. Par exemple:
68+
69+`from lazpaint import image, layer, colors`\
70+`image.do_begin()           # commence le bloc d'annulation`\
71+`layer.new()                # 1ère action: nouveau calque`\
72+`layer.fill(colors.YELLOW)  # 2ème action: remplir avec du jaune`\
73+`image.do_end()             # fin de bloc d'annulation`
74+
75+## Interagir avec Pillow
76+
77+Si vous voulez modifier l'image avec un module comme [Pillow](https://python-pillow.org/), vous pouvez transférer l'image au module en utilisant un fichier temporaire:
78+
79+`from lazpaint import image, layer`\
80+`from PIL import Image`\
81+`temp_name = image.get_temporary_name()`\
82+`temp_name = layer.save_as(temp_name) # export vers le disque`\
83+`im = Image.open(temp_name) # chargement dans Pillow`
84+
85+Then you can transfer back the image to LazPaint:
86+
87+`im.save(temp_name, "PNG") # export vers le disque`\
88+`layer.add_from_file(temp_name) # import depuis le disque dans LazPaint`
89+
90+## Faire une action sur chaque calque
91+
92+Le module image fournit la fonction *iterate_layers* qui sélectionne tour à tour chaque calque.
93+
94+`from lazpaint import image, colors`\
95+`image.do_begin()`\
96+`for cur_layer_id in image.iterate_layers():`\
97+`  colors.complementary()`\
98+`image.do_end()`
99+
100+## Couleurs
101+
102+Les couleurs sont stockées dans une instance de la classe colors.RGBA. Elle a 4 champs: red, green, blue et alpha qui sont entre 0 et 255. Elles sont dans l'espace de couleur [sRGB](https://fr.wikipedia.org/wiki/SRGB).
103+
104+Les fonctions colors.to_linear et colors.to_std transforment une valeur de canal de sRGB avers RGB linéaire. Les valeurs linéaires sont flottantes et entre 0 et 1.
105+
106+`from lazpaint import colors, dialog, tools`\
107+`dodger_blue = colors.RGB(30, 144, 255)`\
108+`half_transparent_black = colors.RGBA(0, 0, 0, 128)`\
109+`dialog.show_message(dodger_blue.blue) # affiche 255`\
110+`tools.set_fore_color(dodger_blue) # selectionne le bleu dodger comme couleur de pinceau`
111+
112+---
113+*From the Free Pascal wiki, page "LazPaint scripts/fr", as it stood on 2020-04-16 after a change by Circular, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history