; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;; 'select-by-color' selects all pixels that are the same color.
;; This mirrors the functionality of Select By Color Tool, but
;; permits specification of the color (rather than picking it from the
;; image.
(define (script-fu-sg-select-similar-colors image drawable
mode
color
antialias?
feather?
feather-radius
transparent?
sample-merged?
threshold
select-criterion
)
(let* (
(operation
(cond ((= mode 0) CHANNEL-OP-REPLACE)
((= mode 1) CHANNEL-OP-ADD)
((= mode 2) CHANNEL-OP-SUBTRACT)
((= mode 3) CHANNEL-OP-INTERSECT)))
)
(gimp-image-undo-group-start image)
(gimp-by-color-select-full drawable
color
threshold
operation
antialias?
feather?
feather-radius
feather-radius
sample-merged?
transparent?
select-criterion
)
(gimp-image-undo-group-end image)
(gimp-displays-flush)
)
)
(script-fu-register "script-fu-sg-select-similar-colors"
"Si_milar colors..."
"Select all pixels of a specified color"
"Saul Goode"
"Saul Goode"
"7/21/2007"
"RGB*,GRAY*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-OPTION "Mode" '("Replace" "Add" "Subtract" "Intersect")
SF-COLOR "Color" (car (gimp-context-get-foreground))
SF-TOGGLE "Antialiasing" TRUE
SF-TOGGLE "Feather" FALSE
SF-ADJUSTMENT "Feather Radius" '(0 0 100 1 10 1 0)
SF-TOGGLE "Select transparent areas" TRUE
SF-TOGGLE "Sample merged" FALSE
SF-ADJUSTMENT "Threshold" '(15 0 255 1 10 1 0)
SF-OPTION "Select by" '("Composite" "Red" "Green" "Blue" "Hue" "Saturation" "Value")
)
(script-fu-menu-register "script-fu-sg-select-similar-colors"
"<Image>/Select" )