LazPaint scripts/fr
│
English (en) │
français (fr) │
Les scripts sont accessibles depuis le menu Script. Ils sont en langage Python et stockés dans le répertoire scripts de l'application.
Scripts fournis
- Channels: séparer les canaux de couleur RGB ou HSL.
- Layer effects: effets de calques connus comme ombre, contour ou couleur.
- Mask: fonctions pour créer un masque de calque.
- Render: des exemple d'utilisation des outils depuis un script
- Version: affiche la version de Python
Comment faire un script
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:
# Mon script
Ou si vous le voulez dans un sous-menu:
# Mon menu > Mon script
Vous aurez besoin de modules pour communiquer avec LazPaint depuis le script, alors par exemple pour afficher un message vous écririez:
from lazpaint import dialog
Pour utiliser la fonction du module:
dialog.show_message("bonjour monde")
Ainsi voilà notre programme bonjour:
# Tutoriel > Bonjour from lazpaint import dialog dialog.show_message("bonjour monde")
Lancer un script
Lancer depuis un dossier utilisateur
Vous pouvez sauvegarder votre script dans vos documents et depuis LazPaint utiliser le menu Script > Exécuter script pour parcourir les dossiers.
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:
- Sous Windows: C:\Program Files\LazPaint\scripts
- Sous Linux: /usr/share/lazpaint/scripts
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.
Modules disponibles
- colors: définitions des couleurs et des filtres de couleur
- command: envoyer des commandes brutes et récupérer la version de LazPaint
- dialog: afficher des messages et boites de dialogue
- filters: appliquer des filtres (autres que de couleur)
- image: nouveau, charger, tourner...
- imagelist: utiliser la liste d'image (image suivante, ajouter des fichiers)
- layer: configurer les calques, accéder aux pixels
- selection: agir sur la sélection (en particulier la sélection bleue)
- tools: utiliser les outils en donnant les positions de souris et les appuis de touches
- view: zoom et grille
Grouper les changements
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:
from lazpaint import image, layer, colors image.do_begin() # commence le bloc d'annulation layer.new() # 1ère action: nouveau calque layer.fill(colors.YELLOW) # 2ème action: remplir avec du jaune image.do_end() # fin de bloc d'annulation
Interagir avec Pillow
Si vous voulez modifier l'image avec un module comme Pillow, vous pouvez transférer l'image au module en utilisant un fichier temporaire:
from lazpaint import image, layer from PIL import Image temp_name = image.get_temporary_name() temp_name = layer.save_as(temp_name) # export vers le disque im = Image.open(temp_name) # chargement dans Pillow
Then you can transfer back the image to LazPaint:
im.save(temp_name, "PNG") # export vers le disque layer.add_from_file(temp_name) # import depuis le disque dans LazPaint
Faire une action sur chaque calque
Le module image fournit la fonction iterate_layers qui sélectionne tour à tour chaque calque.
from lazpaint import image, colors image.do_begin() for cur_layer_id in image.iterate_layers(): colors.complementary() image.do_end()
Couleurs
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.
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.
from lazpaint import colors, dialog, tools dodger_blue = colors.RGB(30, 144, 255) half_transparent_black = colors.RGBA(0, 0, 0, 128) dialog.show_message(dodger_blue.blue) # affiche 255 tools.set_fore_color(dodger_blue) # selectionne le bleu dodger comme couleur de pinceau