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
| Old | New | Line | |
|---|---|---|---|
| 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).* |
