LazPaint scripts/fr: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | [[LazPaint|Retour]] | |
| 2 | 2 | ||
| 3 | 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 | 4 | ||
| 5 | 5 | ## Scripts fournis | |
| 6 | 6 | ||
| 7 | 7 | - Channels: séparer les canaux de couleur RGB ou HSL. | |
| 8 | 8 | - Layer effects: effets de calques connus comme ombre, contour ou couleur. | |
| 9 | 9 | - Mask: fonctions pour créer un masque de calque. | |
| 10 | 10 | - Render: des exemple d'utilisation des outils depuis un script | |
| 11 | 11 | - Version: affiche la version de Python | |
| 12 | 12 | ||
| 13 | 13 | ## Comment faire un script | |
| 14 | 14 | ||
| 15 | 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 | 16 | ||
| 17 | - | ||
| 17 | + | ```text | |
| 18 | + | # Mon script | |
| 19 | + | ``` | |
| 18 | 20 | ||
| 19 | 21 | Ou si vous le voulez dans un sous-menu: | |
| 20 | 22 | ||
| 21 | - | ||
| 23 | + | ```text | |
| 24 | + | # Mon menu > Mon script | |
| 25 | + | ``` | |
| 22 | 26 | ||
| 23 | 27 | Vous aurez besoin de modules pour communiquer avec LazPaint depuis le script, alors par exemple pour afficher un message vous écririez: | |
| 24 | 28 | ||
| 25 | - | ||
| 29 | + | ```text | |
| 30 | + | from lazpaint import dialog | |
| 31 | + | ``` | |
| 26 | 32 | ||
| 27 | 33 | Pour utiliser la fonction du module: | |
| 28 | 34 | ||
| 29 | - | ||
| 35 | + | ```text | |
| 36 | + | dialog.show_message("bonjour monde") | |
| 37 | + | ``` | |
| 30 | 38 | ||
| 31 | 39 | Ainsi voilà notre programme bonjour: | |
| 32 | 40 | ||
| 33 | - | ||
| 34 | - | ||
| 35 | - | ||
| 41 | + | ```text | |
| 42 | + | # Tutoriel > Bonjour | |
| 43 | + | from lazpaint import dialog | |
| 44 | + | dialog.show_message("bonjour monde") | |
| 45 | + | ``` | |
| 36 | 46 | ||
| 37 | 47 | ## Lancer un script | |
| 38 | 48 | ||
| 39 | 49 | ### Lancer depuis un dossier utilisateur | |
| 40 | 50 | ||
| 41 | 51 | Vous pouvez sauvegarder votre script dans vos documents et depuis LazPaint utiliser le menu **Script \> Exécuter script** pour parcourir les dossiers. | |
| 42 | 52 | ||
| 43 | 53 | ### Lancer depuis le menu Script | |
| 44 | 54 | ||
| 45 | 55 | 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 | 56 | ||
| 47 | 57 | - Sous Windows: *C:\Program Files\LazPaint\scripts* | |
| 48 | 58 | - Sous Linux: */usr/share/lazpaint/scripts* | |
| 49 | 59 | ||
| 50 | 60 | 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 | 61 | ||
| 52 | 62 | ## Modules disponibles | |
| 53 | 63 | ||
| 54 | 64 | - colors: définitions des couleurs et des filtres de couleur | |
| 55 | 65 | - command: envoyer des commandes brutes et récupérer la version de LazPaint | |
| 56 | 66 | - dialog: afficher des messages et boites de dialogue | |
| 57 | 67 | - filters: appliquer des filtres (autres que de couleur) | |
| 58 | 68 | - image: nouveau, charger, tourner... | |
| 59 | 69 | - imagelist: utiliser la liste d'image (image suivante, ajouter des fichiers) | |
| 60 | 70 | - layer: configurer les calques, accéder aux pixels | |
| 61 | 71 | - selection: agir sur la sélection (en particulier la sélection bleue) | |
| 62 | 72 | - tools: utiliser les outils en donnant les positions de souris et les appuis de touches | |
| 63 | 73 | - view: zoom et grille | |
| 64 | 74 | ||
| 65 | 75 | ## Grouper les changements | |
| 66 | 76 | ||
| 67 | 77 | 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 | 78 | ||
| 69 | - | ||
| 70 | - | ||
| 71 | - | ||
| 72 | - | ||
| 73 | - | ||
| 79 | + | ```text | |
| 80 | + | from lazpaint import image, layer, colors | |
| 81 | + | image.do_begin() # commence le bloc d'annulation | |
| 82 | + | layer.new() # 1ère action: nouveau calque | |
| 83 | + | layer.fill(colors.YELLOW) # 2ème action: remplir avec du jaune | |
| 84 | + | image.do_end() # fin de bloc d'annulation | |
| 85 | + | ``` | |
| 74 | 86 | ||
| 75 | 87 | ## Interagir avec Pillow | |
| 76 | 88 | ||
| 77 | 89 | 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 | 90 | ||
| 79 | - | ||
| 80 | - | ||
| 81 | - | ||
| 82 | - | ||
| 83 | - | ||
| 91 | + | ```text | |
| 92 | + | from lazpaint import image, layer | |
| 93 | + | from PIL import Image | |
| 94 | + | temp_name = image.get_temporary_name() | |
| 95 | + | temp_name = layer.save_as(temp_name) # export vers le disque | |
| 96 | + | im = Image.open(temp_name) # chargement dans Pillow | |
| 97 | + | ``` | |
| 84 | 98 | ||
| 85 | 99 | Then you can transfer back the image to LazPaint: | |
| 86 | 100 | ||
| 87 | - | ||
| 88 | - | ||
| 101 | + | ```text | |
| 102 | + | im.save(temp_name, "PNG") # export vers le disque | |
| 103 | + | layer.add_from_file(temp_name) # import depuis le disque dans LazPaint | |
| 104 | + | ``` | |
| 89 | 105 | ||
| 90 | 106 | ## Faire une action sur chaque calque | |
| 91 | 107 | ||
| 92 | 108 | Le module image fournit la fonction *iterate_layers* qui sélectionne tour à tour chaque calque. | |
| 93 | 109 | ||
| 94 | - | ||
| 95 | - | ||
| 96 | - | ||
| 97 | - | ||
| 98 | - | ||
| 110 | + | ```text | |
| 111 | + | from lazpaint import image, colors | |
| 112 | + | image.do_begin() | |
| 113 | + | for cur_layer_id in image.iterate_layers(): | |
| 114 | + | colors.complementary() | |
| 115 | + | image.do_end() | |
| 116 | + | ``` | |
| 99 | 117 | ||
| 100 | 118 | ## Couleurs | |
| 101 | 119 | ||
| 102 | 120 | 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 | 121 | ||
| 104 | 122 | 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 | 123 | ||
| 106 | - | ||
| 107 | - | ||
| 108 | - | ||
| 109 | - | ||
| 110 | - | ||
| 124 | + | ```text | |
| 125 | + | from lazpaint import colors, dialog, tools | |
| 126 | + | dodger_blue = colors.RGB(30, 144, 255) | |
| 127 | + | half_transparent_black = colors.RGBA(0, 0, 0, 128) | |
| 128 | + | dialog.show_message(dodger_blue.blue) # affiche 255 | |
| 129 | + | tools.set_fore_color(dodger_blue) # selectionne le bleu dodger comme couleur de pinceau | |
| 130 | + | ``` | |
| 111 | 131 | ||
| 112 | 132 | --- | |
| 113 | 133 | *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).* |
