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") | 
Partager