~ubuntu-branches/ubuntu/maverick/gimp/maverick-updates

« back to all changes in this revision

Viewing changes to plug-ins/script-fu/scripts/unsharp-mask.scm

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2005-12-09 19:44:52 UTC
  • Revision ID: james.westby@ubuntu.com-20051209194452-yggpemjlofpjqyf4
Tags: upstream-2.2.9
ImportĀ upstreamĀ versionĀ 2.2.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
;;; unsharp-mask.scm
 
2
;;; Time-stamp: <1998/11/17 13:18:39 narazaki@gimp.org>
 
3
;;; Author: Narazaki Shuji <narazaki@gimp.org>
 
4
;;; Version 0.8
 
5
 
 
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
 
12
                                              RGB-IMAGE "Original"
 
13
                                              100 NORMAL-MODE)))
 
14
         (original-layer-for-darker #f)
 
15
         (original-layer-for-lighter #f)
 
16
         (blured-layer-for-darker #f)
 
17
         (blured-layer-for-lighter #f)
 
18
         (darker-layer #f)
 
19
         (lighter-layer #f))
 
20
 
 
21
    (gimp-selection-all img)
 
22
    (gimp-edit-copy drw)
 
23
 
 
24
    (gimp-image-undo-disable new-image)
 
25
 
 
26
    (gimp-image-add-layer new-image original-layer 0)
 
27
    (gimp-floating-sel-anchor
 
28
     (car (gimp-edit-paste original-layer FALSE)))
 
29
 
 
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)
 
35
 
 
36
    ;; make darker mask
 
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
 
39
                       TRUE TRUE)
 
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)
 
44
    (set! darker-layer
 
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)
 
48
 
 
49
    ;; make lighter mask
 
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)
 
53
    (set! lighter-layer
 
54
          (car (gimp-image-merge-visible-layers new-image CLIP-TO-IMAGE)))
 
55
    (gimp-drawable-set-name lighter-layer "lighter mask")
 
56
 
 
57
    ;; combine them
 
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)
 
65
 
 
66
    (gimp-image-undo-enable new-image)
 
67
    (gimp-displays-flush)))
 
68
 
 
69
 
 
70
(script-fu-register "script-fu-unsharp-mask"
 
71
                    _"_Unsharp Mask..."
 
72
                    "Make a sharp image of IMAGE's DRAWABLE by applying unsharp mask method"
 
73
                    "Shuji Narazaki <narazaki@gimp.org>"
 
74
                    "Shuji Narazaki"
 
75
                    "1997,1998"
 
76
                    ""
 
77
                    SF-IMAGE       "Image"             0
 
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))
 
81
 
 
82
(script-fu-menu-register "script-fu-unsharp-mask"
 
83
                         _"<Image>/Script-Fu/Alchemy")