2
;;; Time-stamp: <1998/11/17 13:18:39 narazaki@gimp.org>
3
;;; Author: Narazaki Shuji <narazaki@gimp.org>
6
(define (script-fu-unsharp-mask img drw mask-size mask-opacity)
7
(let* ((drawable-width (car (gimp-drawable-width drw)))
8
(drawable-height (car (gimp-drawable-height drw)))
9
(new-image (car (gimp-image-new drawable-width drawable-height RGB)))
10
(original-layer (car (gimp-layer-new new-image
11
drawable-width drawable-height
14
(original-layer-for-darker #f)
15
(original-layer-for-lighter #f)
16
(blured-layer-for-darker #f)
17
(blured-layer-for-lighter #f)
21
(gimp-selection-all img)
24
(gimp-image-undo-disable new-image)
26
(gimp-image-add-layer new-image original-layer 0)
27
(gimp-floating-sel-anchor
28
(car (gimp-edit-paste original-layer FALSE)))
30
(set! original-layer-for-darker (car (gimp-layer-copy original-layer TRUE)))
31
(set! original-layer-for-lighter (car (gimp-layer-copy original-layer TRUE)))
32
(set! blured-layer-for-darker (car (gimp-layer-copy original-layer TRUE)))
33
(gimp-drawable-set-visible original-layer FALSE)
34
(gimp-display-new new-image)
37
(gimp-image-add-layer new-image blured-layer-for-darker -1)
38
(plug-in-gauss-iir TRUE new-image blured-layer-for-darker mask-size
40
(set! blured-layer-for-lighter
41
(car (gimp-layer-copy blured-layer-for-darker TRUE)))
42
(gimp-image-add-layer new-image original-layer-for-darker -1)
43
(gimp-layer-set-mode original-layer-for-darker SUBTRACT-MODE)
45
(car (gimp-image-merge-visible-layers new-image CLIP-TO-IMAGE)))
46
(gimp-drawable-set-name darker-layer "darker mask")
47
(gimp-drawable-set-visible darker-layer FALSE)
50
(gimp-image-add-layer new-image original-layer-for-lighter -1)
51
(gimp-image-add-layer new-image blured-layer-for-lighter -1)
52
(gimp-layer-set-mode blured-layer-for-lighter SUBTRACT-MODE)
54
(car (gimp-image-merge-visible-layers new-image CLIP-TO-IMAGE)))
55
(gimp-drawable-set-name lighter-layer "lighter mask")
58
(gimp-drawable-set-visible original-layer TRUE)
59
(gimp-layer-set-mode darker-layer SUBTRACT-MODE)
60
(gimp-layer-set-opacity darker-layer mask-opacity)
61
(gimp-drawable-set-visible darker-layer TRUE)
62
(gimp-layer-set-mode lighter-layer ADDITION-MODE)
63
(gimp-layer-set-opacity lighter-layer mask-opacity)
64
(gimp-drawable-set-visible lighter-layer TRUE)
66
(gimp-image-undo-enable new-image)
67
(gimp-displays-flush)))
70
(script-fu-register "script-fu-unsharp-mask"
72
"Make a sharp image of IMAGE's DRAWABLE by applying unsharp mask method"
73
"Shuji Narazaki <narazaki@gimp.org>"
78
SF-DRAWABLE "Drawable to apply" 0
79
SF-ADJUSTMENT _"Mask size" '(5 1 100 1 1 0 1)
80
SF-ADJUSTMENT _"Mask opacity" '(50 0 100 1 1 0 1))
82
(script-fu-menu-register "script-fu-unsharp-mask"
83
_"<Image>/Script-Fu/Alchemy")