Bonjour,

Je cherche à créer un script Tinyscheme qui fasse tourner des calques d'une image vectorielle gimp après indication par l'utilisateur de l'angle de rotation (le centre étant écrit par défaut mais modifiable)

J'ai écrit ce script mais j'obtiens un message d'erreur :

"Error while executing script-fu-turn-layers:

Error: Procedure execution of gimp-image-get-layers failed on invalid input arguments: Procedure 'gimp-image-get-layers' has been called with an invalid ID for argument 'image'. Most likely a plug-in is trying to work on an image that doesn't exist any longer. "



Voici mon script :

-------------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
(
  define(
        script-fu-turn-the-layer
        drawable angle center-x center-y
  )
; Comment :Ce script permet de faire tourner un calque définit selon un centre de rotation et un angle définit en gradian

 (gimp-drawable-transform-rotate-default drawable (* (/ angle 360) (* 2 3.14)) FALSE center-x center-y FALSE 0)
  
)

(
  define(
        script-fu-turn-layers
        image drawable angle center-x center-y
  )
  (
    let* (
      ( layer-nbr (car (gimp-image-get-layers image))) 
      ( i 0 )     
    ) 
    (while (< i layer-nbr)
        
        (let* ((drawable (aref (cadr (gimp-image-get-layers 1)) i)) (prefix (substring (car (gimp-drawable-get-name drawable)) 0 2)))

            ; Par convention on fait tourner tous les calques dont le nom commence par "##"

            (if (equal? prefix "##")
                (script-fu-turn-the-layer drawable angle center-x center-y)
            )
        )
        (set! i (+ i 1) )

    )
  )
)



(script-fu-register 
        "script-fu-turn-layers"                     ;func name
        "Rotation d'un groupe de calques"                                   ;menu label
        "Faire tourner tous les calques nommés avec le préfix ##."    ;description  
        "Peter "                             ;author
        ""                                          ;copyright notice
        "Date "                         ;date created
        ""                                          ;image type that the script works on


	SF-IMAGE "Input Image" 0 ; l'image par défaut est l'image active
	SF-DRAWABLE "Input Drawable" 0 ; le calque par défaut est le calque actif

	SF-VALUE "Angle" "0" ; Par défaut, l'angle fait 0 degré
        SF-VALUE "X du Centre de rotation (en pixels)" "988"  ; Coordonnées par défaut du centre de rotation des claques
        SF-VALUE "Y du centre de rotation (en pixels)" "1006"

)
(script-fu-menu-register "script-fu-turn-layers" "<Toolbox>/Xtns/Travail")
------------------------------------------------------------
Voyez vous l'erreur ?

Merci beaucoup pour votre aide !