Sign in Join
Wiki copytemporary

LazPaint scripts/fr

English · Français

Retour

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

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.

Lancer depuis le menu Script

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:

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

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


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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.