/
Swap_Scale_3D.scm
41 lines (37 loc) · 1.73 KB
/
Swap_Scale_3D.scm
1
2
3
4
5
6
(script-fu-register "Swap_Scale_3D" "Swap_Scale_3D" "Swap Left and Right image and scale" "Don Sauer" "GNU General Public License v3+" "2012" "RGB*" SF-IMAGE "Image" 0 SF-ADJUSTMENT "Scale" '(100 30 300 10 1 1 0))(script-fu-menu-register "Swap_Scale_3D" "<Image>/Filters/Stereo 3D Stuff")(define (Swap_Scale_3D image scale)(let* ( ( lay1 (car (gimp-image-get-active-layer image)))( w (car (gimp-image-width image) ))( h (car (gimp-image-height image) ))( image2 (car(gimp-image-new w h 0)))( lay2 (car (gimp-layer-new image2 w h 0 "lay2" 100 0))) ( float 0) ( null 0) )( set! null (gimp-image-add-layer image2 lay2 -1) )( set! null (gimp-rect-select image 0 0 ( / w 2) h 0 0 1) )
( set! null (gimp-edit-copy lay1 ) )( set! float (car (gimp-edit-paste lay2 1) ))( set! null (gimp-drawable-transform-scale-default float ( / w 2) 0 w h 1 0))( set! null (gimp-floating-sel-anchor float))
( set! null (gimp-selection-none image)) ( set! null (gimp-rect-select image ( / w 2) 0 ( / w 2) h 0 0 1) )
( set! null (gimp-edit-copy lay1 ) )( set! float (car (gimp-edit-paste lay2 1) ))( set! null (gimp-drawable-transform-scale-default float 0 0 ( / w 2) h 1 0))( set! null (gimp-floating-sel-anchor float))( set! null (gimp-image-scale image2 ( * ( / scale 100) w ) ( * ( / scale 100) h ) ))
( set! null (gimp-selection-none image))
( set! null (gimp-display-new image2) )))