Popular Posts

Saturday, April 9, 2011

High Contrast Effect: Photo effect using the Gimp.

High Contrast Effect:

This will turn a photo into a High Contrast effect:

Here is the code -->
;*************************************************************************************** 
;High Contrast for GIMP 2.x
;*************************************************************************************** 
(define (script-fu-HighContrast
        img
        drawable
    )
    (gimp-undo-push-group-start img)
     (let*    (
            (width (car (gimp-drawable-width drawable)))
            (height (car (gimp-drawable-height drawable)))
            (img2 (car (gimp-image-new width height 0)))
            (TONES (car (gimp-layer-new-from-drawable drawable img2)))
            (TEMP1 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP2 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP3 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP4 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP6 (car (gimp-layer-new-from-drawable drawable img)))
        )
        (gimp-image-add-layer img TEMP1 -1)
        (gimp-image-add-layer img TEMP2 -1)
        (plug-in-despeckle RUN-NONINTERACTIVE img TEMP1 (* width .003) 1 -1 256)
        (plug-in-sel-gauss RUN-NONINTERACTIVE img TEMP1 (* width .003) 13)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP2 0)))
        (plug-in-gauss RUN-NONINTERACTIVE img TEMP2 (* width .007) (* height .007) 1)
        (gimp-layer-set-mode TEMP2 DIVIDE-MODE)
        (gimp-image-merge-down img TEMP2 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-desaturate-full TEMP1 DESATURATE-AVERAGE)
        (gimp-image-add-layer img TEMP3 -1)
        (gimp-image-add-layer img TEMP4 -1)
        (gimp-layer-set-mode TEMP3 MULTIPLY-MODE)
        (gimp-layer-set-mode TEMP4 MULTIPLY-MODE)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP3 0)))
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP4 0)))
        (gimp-image-merge-down img TEMP3 0)
        (gimp-image-merge-down img TEMP4 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-threshold TEMP1 228 255)
        (gimp-image-add-layer img2 TONES -1)
        (gimp-desaturate-full TONES DESATURATE-LIGHTNESS)
        (gimp-image-convert-indexed img2 NO-DITHER MAKE-PALETTE 4 FALSE FALSE "0")
        (gimp-edit-copy TONES)
        (gimp-image-add-layer img TEMP6 +1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP6 0)))
        (gimp-layer-set-mode TEMP1 OVERLAY-MODE)
        (gimp-image-merge-down img TEMP1 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-layer-set-name TEMP1 "HighContrast")
        (gimp-undo-push-group-end img)
        (gimp-image-delete img2)
        (gimp-displays-flush)
    )
)
(script-fu-register
 "script-fu-HighContrast"
 _"<Image>/Script-Fu/Artistic/HighContrast"
 "Creates a Line Drawing Fine Line Effect."
 ""
 ""
 ""
 "RGB*"
 SF-IMAGE    "Image"        0
 SF-DRAWABLE    "Drawable"    0
)

High Contrast

High Contrast Color Effect: Photo effect using the Gimp.

High Contrast Color Effect:

This will turn a photo into a High Contrast Color effect:

Here is the code -->
;*************************************************************************************** 
;High Contrast Color for GIMP 2.x
;*************************************************************************************** 
(define (script-fu-HighContrastColor
        img
        drawable
    )
    (gimp-undo-push-group-start img)
     (let*    (
            (width (car (gimp-drawable-width drawable)))
            (height (car (gimp-drawable-height drawable)))
            (img2 (car (gimp-image-new width height 0)))
            (TONES (car (gimp-layer-new-from-drawable drawable img2)))
            (TEMP0 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP1 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP2 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP3 (car (gimp-layer-new-from-drawable drawable img)))
            (save-color (car (gimp-context-get-foreground)))
        )
        (gimp-image-add-layer img TEMP1 -1)
        (plug-in-despeckle RUN-NONINTERACTIVE img TEMP1 (* width .003) 1 -1 256)
        (plug-in-dog RUN-NONINTERACTIVE img TEMP1 (* height .002 7.5) (* width .002 .3) TRUE TRUE)
        (gimp-threshold TEMP1 246 255)
        (gimp-image-add-layer img2 TONES -1)
        (gimp-image-convert-grayscale img2)
        (gimp-image-convert-indexed img2 NO-DITHER MAKE-PALETTE 4 FALSE FALSE "0")
        (gimp-edit-copy TONES)
        (gimp-image-add-layer img TEMP3 +1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP3 0)))
        (gimp-layer-set-mode TEMP1 OVERLAY-MODE)
        (gimp-image-merge-down img TEMP1 0)
        (gimp-image-add-layer img TEMP2 -1)
        (gimp-layer-set-mode TEMP2 COLOR-MODE)
        (gimp-image-merge-down img TEMP2 0)
        (gimp-context-set-foreground '(0 0 0))
        (gimp-image-add-layer img TEMP0 -1)
        (gimp-by-color-select TEMP0 '(0 0 0) 20 0 2 0 0 0)
        (gimp-drawable-fill TEMP0 WHITE-FILL)
        (if (= (car (gimp-selection-is-empty img)) FALSE)
            (gimp-bucket-fill TEMP0 FG-BUCKET-FILL NORMAL-MODE 100 0 FALSE 0 0)
        )
        (gimp-context-set-foreground save-color)
        (gimp-selection-clear img)
        (gimp-layer-set-mode TEMP0 MULTIPLY-MODE)
        (gimp-image-merge-down img TEMP0 0)

        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-layer-set-name TEMP1 "HighContrastColor")
        (gimp-image-delete img2)
        (gimp-undo-push-group-end img)
        (gimp-displays-flush)
    )
)
(script-fu-register
 "script-fu-HighContrastColor"
 _"<Image>/Script-Fu/Artistic/HighContrastColor"
 "Creates a High Contrast Color Effect."
 ""
 ""
 ""
 "RGB*"
 SF-IMAGE    "Image"        0
 SF-DRAWABLE    "Drawable"    0
)

High Contrast Color

Fine Line Effect: Photo effect using the Gimp.

Fine Line Effect:

This will turn a photo into a Fine Line effect:

Here is the code -->
;*************************************************************************************** 
; FineLine script for GIMP 2.x
;*************************************************************************************** 
(define (script-fu-fineline
        img
        drawable
    )
    (gimp-undo-push-group-start img)
     (let*    (
            (width (car (gimp-drawable-width drawable)))
            (height (car (gimp-drawable-height drawable)))
            (TEMP1 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP2 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP3 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP4 (car (gimp-layer-new-from-drawable drawable img)))
        )
        (gimp-image-add-layer img TEMP1 -1)
        (gimp-image-add-layer img TEMP2 -1)
        (plug-in-despeckle RUN-NONINTERACTIVE img TEMP1 (* width .003) 1 -1 256)
        (plug-in-sel-gauss RUN-NONINTERACTIVE img TEMP1 (* width .003) 13)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP2 0)))
        (plug-in-gauss RUN-NONINTERACTIVE img TEMP2 (* width .007) (* height .007) 1)
        (gimp-layer-set-mode TEMP2 DIVIDE-MODE)
        (gimp-image-merge-down img TEMP2 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-desaturate-full TEMP1 DESATURATE-AVERAGE)
        (gimp-image-add-layer img TEMP3 -1)
        (gimp-image-add-layer img TEMP4 -1)
        (gimp-layer-set-mode TEMP3 MULTIPLY-MODE)
        (gimp-layer-set-mode TEMP4 MULTIPLY-MODE)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP3 0)))
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP4 0)))
        (gimp-image-merge-down img TEMP3 0)
        (gimp-image-merge-down img TEMP4 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
;        (gimp-threshold TEMP1 225 255)
        (gimp-threshold TEMP1 228 255)
        (gimp-layer-set-name TEMP1 "FineLine")
        (gimp-undo-push-group-end img)
        (gimp-displays-flush)
    )
)
(script-fu-register
 "script-fu-fineline"
 _"<Image>/Script-Fu/Artistic/FineLine"
 "Creates a Line Drawing Fine Line Effect."
 ""
 ""
 ""
 "RGB*"
 SF-IMAGE    "Image"        0
 SF-DRAWABLE    "Drawable"    0
)

Fine Line

Comic Toned Effect: Photo effect using the Gimp.

Comic Toned Effect:

This will turn a photo into a Comic Toned effect:

Here is the code -->
;*************************************************************************************** 
; Comic-Toned script for GIMP 2.x
;*************************************************************************************** 
(define (script-fu-ComicToned
        img
        drawable
    )
    (gimp-undo-push-group-start img)
    (let*    (
            (WIDTH (car (gimp-drawable-width drawable)))
            (HEIGHT (car (gimp-drawable-height drawable)))
            (COLOR-SAVE '(0 0 0))
            (img2 (car (gimp-image-new WIDTH HEIGHT 0)))
            (TONES (car (gimp-layer-new-from-drawable drawable img2)))
            (TEMP1 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP2 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP3 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP4 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP5 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP6 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP7 (car (gimp-layer-new-from-drawable drawable img)))
        ) 
        (gimp-image-add-layer img TEMP1 -1)
        (gimp-image-add-layer img TEMP2 -1)
        (gimp-image-add-layer img2 TONES -1)
        (gimp-desaturate-full TONES DESATURATE-AVERAGE)
        (plug-in-sel-gauss RUN-NONINTERACTIVE img TEMP1 (* WIDTH .005) 13)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP2 0)))
        (plug-in-gauss RUN-NONINTERACTIVE img TEMP2 (* WIDTH .013) (* HEIGHT .013) 1)
        (gimp-layer-set-mode TEMP2 DIVIDE-MODE)
        (gimp-image-merge-down img TEMP2 EXPAND-AS-NECESSARY)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-desaturate-full TEMP1 DESATURATE-AVERAGE)
        (gimp-image-add-layer img TEMP3 -1)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP3 0)))
        (gimp-threshold TEMP3 246 255)
        (plug-in-cartoon RUN-NONINTERACTIVE img TEMP3 (* WIDTH .007) .20)
        (gimp-layer-set-mode TEMP3 MULTIPLY-MODE)
        (gimp-levels TEMP1 HISTOGRAM-VALUE 234 255 10 0 255) 
        (gimp-image-merge-down img TEMP3 EXPAND-AS-NECESSARY)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-threshold TEMP1 128 255)
        (gimp-image-convert-indexed img2 NO-DITHER MAKE-PALETTE 3 FALSE FALSE "0")
        (gimp-edit-copy TONES)
        (gimp-image-add-layer img TEMP4 -1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP4 0)))
        (gimp-levels TEMP4 0 0 255 1.0 0 217) 
        (gimp-layer-set-mode TEMP4 GRAIN-MERGE-MODE)
        (gimp-image-merge-down img TEMP4 EXPAND-AS-NECESSARY)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-image-add-layer img TEMP5 -1)
        (set! COLOR-SAVE (car (gimp-context-get-foreground)))
        (gimp-context-set-foreground '(207 207 207))
        (gimp-drawable-fill TEMP5 FOREGROUND-FILL)
        (gimp-layer-set-mode TEMP5 MULTIPLY-MODE)
        (gimp-context-set-foreground COLOR-SAVE)
        (gimp-image-merge-down img TEMP5 EXPAND-AS-NECESSARY)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-image-add-layer img TEMP6 -1)
        (gimp-layer-set-mode TEMP6 COLOR-MODE)
        (gimp-layer-set-opacity TEMP6 74.0)
        (gimp-image-merge-down img TEMP6 EXPAND-AS-NECESSARY)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-image-add-layer img TEMP7 -1)
        (gimp-layer-set-opacity TEMP7 64.6)
        (gimp-layer-set-mode TEMP7 SATURATION-MODE)
        (gimp-image-merge-down img TEMP7 EXPAND-AS-NECESSARY)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-layer-set-name TEMP1 "Comic Toned")
        (gimp-image-delete img2)
        (gimp-undo-push-group-end img)
        (gimp-displays-flush)
    )
)
(script-fu-register
 "script-fu-ComicToned"
 _"<Image>/Script-Fu/Artistic/ComicToned"
 "Creates a Comic with tones Effect."
 ""
 ""
 "2011"
 "RGB*"
 SF-IMAGE    "Image"        0
 SF-DRAWABLE    "Drawable"    0
)


Comic Toned

Color Chalk Effect: Photo effect using the Gimp.

Color Chalk Effect:

This will turn a photo into a Color Chalk effect:

Here is the code -->
;***************************************************************************************
; Color Chalk script for GIMP 2.x
;***************************************************************************************
(define (script-fu-color-chalk
        img
        drawable
    )
    (gimp-undo-push-group-start img)

    (define (get-matrix matrix-list)
        (define (list-ref l n) (nth n l))
        (let* ((count 0)
            (matrix (cons-array 25 'double)))
            (while (< count 25)
                (aset matrix count (list-ref matrix-list count))
            (set! count (+ count 1)))
            matrix))
    (define (get-channels)
        (let* ((channels (cons-array 5 'long)))
            (aset channels 0 0)
            (aset channels 1 1)
            (aset channels 2 1)
            (aset channels 3 1)
            (aset channels 4 0)
            channels))
    (define matrix-list
        (list    0 0 0 0 0
            0 0 1 0 0
            0 1 -5 1 0
            0 0 1 0 0
            0 0 0 0 0))     
    (let*    (
            (width (car (gimp-drawable-width drawable)))
            (height (car (gimp-drawable-height drawable)))
            (img2 (car (gimp-image-new width height 0)))
            (layer-temp2 (car (gimp-layer-new-from-drawable drawable img2)))
            (lineLayer (car (gimp-layer-copy drawable -1)))
            (sketchLayer1 (car (gimp-layer-copy drawable -1)))
            (sketchLayer2 (car (gimp-layer-copy drawable -1)))
            (blackLayer (car (gimp-layer-new img width height 0 "blackLayer" 25 3)))
            (grayLayer (car (gimp-layer-new img width height 0 "grayLayer" 100 3)))
            (colorLayer (car (gimp-layer-copy drawable -1)))
            (satLayer (car (gimp-layer-copy drawable -1)))
            (liteLayer (car (gimp-layer-copy drawable -1)))
            (matrix (get-matrix matrix-list))
            (channels (get-channels))  
        )
        (gimp-image-add-layer img lineLayer -1)
        (gimp-image-add-layer img sketchLayer1 -1)
        (gimp-image-add-layer img sketchLayer2 -1)
        (plug-in-sel-gauss RUN-NONINTERACTIVE img sketchLayer2 (* width .005) 13)
        (gimp-edit-copy sketchLayer2)
        (gimp-floating-sel-anchor (car (gimp-edit-paste sketchLayer1 0)))
        (plug-in-gauss RUN-NONINTERACTIVE img sketchLayer2 (* width .013) (* height .013) 1)
        (gimp-layer-set-mode sketchLayer2 DIVIDE-MODE)
        (gimp-image-merge-down img sketchLayer2 0)
        (set! sketchLayer1 (car (gimp-image-get-active-layer img)))
        (plug-in-cartoon RUN-NONINTERACTIVE img sketchLayer1 (* width .010) .20)
        (gimp-layer-set-mode sketchLayer1 MULTIPLY-MODE)
        (gimp-desaturate-full sketchLayer1 1)
        (plug-in-gauss RUN-NONINTERACTIVE img sketchLayer1 (* width .005) (* width .005) 1)
        (gimp-desaturate-full lineLayer 1)
        (plug-in-convmatrix RUN-NONINTERACTIVE img lineLayer 25 matrix FALSE 1 128 5 channels 0)
        (gimp-invert lineLayer)
        (gimp-image-merge-down img sketchLayer1 0)
        (set! drawable (car (gimp-image-get-active-layer img)))
        (gimp-levels drawable HISTOGRAM-VALUE 128 255 3.0 0 255)
        (gimp-image-add-layer img grayLayer -1)
        (gimp-context-set-foreground '(176 176 176))
        (gimp-drawable-fill grayLayer 0)
        (gimp-image-add-layer img blackLayer -1)
        (gimp-layer-add-alpha blackLayer)
        (gimp-image-add-layer img colorLayer -1)
        (gimp-layer-set-mode colorLayer COLOR-MODE)
        (gimp-by-color-select colorLayer '(0 0 0) 10.4 0 0 0 0 0)
        (gimp-selection-invert img)
        (gimp-edit-clear blackLayer)
        (gimp-selection-clear img)
        (gimp-image-add-layer img satLayer -1)
        (gimp-layer-set-mode satLayer SATURATION-MODE)
        (gimp-layer-set-opacity colorLayer 66.0)
        (gimp-layer-set-opacity satLayer 61.0)
        (plug-in-gauss RUN-NONINTERACTIVE img colorLayer (* width .003) (* height .003) 1)
        (plug-in-gauss RUN-NONINTERACTIVE img satLayer (* width .020) (* height .020) 1)
        (gimp-image-add-layer img liteLayer -1)
        (gimp-image-add-layer img2 layer-temp2 -1)
        (gimp-image-convert-indexed img2 NO-DITHER MONO-PALETTE 2 FALSE FALSE "0")
        (gimp-edit-copy layer-temp2)
        (gimp-floating-sel-anchor (car (gimp-edit-paste liteLayer 0)))
        (gimp-layer-set-mode liteLayer OVERLAY-MODE)
        (gimp-layer-set-opacity liteLayer 30.0)
        (plug-in-gauss RUN-NONINTERACTIVE img liteLayer (* width .017) (* height .017) 1)
        (gimp-image-merge-down img grayLayer 0)
        (gimp-image-merge-down img blackLayer 0)
        (gimp-image-merge-down img colorLayer 0)
        (gimp-image-merge-down img satLayer 0)
        (gimp-image-merge-down img liteLayer 0)
        (set! lineLayer (car (gimp-image-get-active-layer img)))
        (gimp-edit-copy lineLayer)
        (gimp-image-convert-rgb img2)
        (gimp-floating-sel-anchor (car (gimp-edit-paste layer-temp2 0)))
        (gimp-image-convert-indexed img2 NO-DITHER MAKE-PALETTE 34 FALSE FALSE "0")
        (gimp-edit-copy layer-temp2)
        (gimp-floating-sel-anchor (car (gimp-edit-paste lineLayer 0)))
        (gimp-image-delete img2)
        (gimp-layer-set-name lineLayer "Color Chalk")
        (gimp-undo-push-group-end img)
        (gimp-displays-flush)
    )
)
(script-fu-register
 "script-fu-color-chalk"
 _"<Image>/Script-Fu/Artistic/ColorChalk"
 "Creates a Color Chalk style"
 ""
 ""
 "2011"
 "RGB*"
 SF-IMAGE    "Image"        0
 SF-DRAWABLE    "Drawable"    0
)

Color Chalk

Cartoon Effect: Photo effect using the Gimp.

Cartoon Effect:

This will turn a photo into a cartoon effect:

Here is the code -->

;*************************************************************************************** 
; Cartoon script for GIMP 2.x
;*************************************************************************************** 
(define (script-fu-cartoon
        img
        drawable
    )
    (gimp-undo-push-group-start img)
    (gimp-levels-stretch drawable)
     (let*    (
            (width (car (gimp-drawable-width drawable)))
            (height (car (gimp-drawable-height drawable)))
            (img2 (car (gimp-image-new width height 0)))
            (TONES (car (gimp-layer-new-from-drawable drawable img2)))
            (TEMP1 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP2 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP3 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP4 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP6 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP7 (car (gimp-layer-new-from-drawable drawable img)))
            (TEMP8 (car (gimp-layer-new-from-drawable drawable img)))
        )
        (gimp-image-add-layer img TEMP1 -1)
        (gimp-image-add-layer img TEMP2 -1)
        (plug-in-despeckle RUN-NONINTERACTIVE img TEMP1 (* width .003) 1 -1 256)
        (plug-in-sel-gauss RUN-NONINTERACTIVE img TEMP1 (* width .003) 13)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP2 0)))
        (plug-in-gauss RUN-NONINTERACTIVE img TEMP2 (* width .007) (* height .007) 1)
        (gimp-layer-set-mode TEMP2 DIVIDE-MODE)
        (gimp-image-merge-down img TEMP2 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-desaturate-full TEMP1 DESATURATE-AVERAGE)
        (gimp-image-add-layer img TEMP3 -1)
        (gimp-image-add-layer img TEMP4 -1)
        (gimp-layer-set-mode TEMP3 MULTIPLY-MODE)
        (gimp-layer-set-mode TEMP4 MULTIPLY-MODE)
        (gimp-edit-copy TEMP1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP3 0)))
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP4 0)))
        (gimp-image-merge-down img TEMP3 0)
        (gimp-image-merge-down img TEMP4 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-threshold TEMP1 228 255)
        (gimp-image-add-layer img2 TONES -1)
        (gimp-desaturate-full TONES DESATURATE-LIGHTNESS)
        (gimp-image-convert-indexed img2 NO-DITHER MAKE-PALETTE 4 FALSE FALSE "0")
        (gimp-edit-copy TONES)
        (gimp-image-add-layer img TEMP6 +1)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP6 0)))
        (gimp-layer-set-mode TEMP1 OVERLAY-MODE)
        (gimp-image-merge-down img TEMP1 0)
        (gimp-image-add-layer img TEMP7 -1)
        (gimp-layer-set-mode TEMP7 COLOR-MODE)
        (gimp-layer-set-opacity TEMP7 77.0)
        (gimp-image-merge-down img TEMP7 0)
        (gimp-image-add-layer img TEMP8 -1)
        (gimp-layer-set-mode TEMP8 SATURATION-MODE)
        (gimp-layer-set-opacity TEMP8 67.0)
        (gimp-image-merge-down img TEMP8 0)
        (set! TEMP1 (car (gimp-image-get-active-layer img)))
        (gimp-layer-set-name TEMP1 "Cartoon")
        (gimp-undo-push-group-end img)
        (gimp-image-delete img2)
        (gimp-displays-flush)
    )
)
(script-fu-register
 "script-fu-cartoon"
 _"<Image>/Script-Fu/Artistic/Cartoon"
 "Creates a Cartoon Effect."
 ""
 ""
 ""
 "RGB*"
 SF-IMAGE    "Image"        0
 SF-DRAWABLE    "Drawable"    0
)


Cartoon

Comic Effect: Photo effect using the Gimp.

Comic Effect:

This will turn a photo into a comic effect:


Here is the code -->
;*************************************************************************************** 
; Comic script for GIMP 2.x
; --------------------------------------------------------------------
(define (script-fu-Comic
        img
        drawable
    )
    (gimp-undo-push-group-start img)
    (gimp-levels-stretch drawable)
    (let* (
            (width (car (gimp-drawable-width drawable)))
             (height (car (gimp-drawable-height drawable)))
            (img2 (car (gimp-image-new width height 0)))
            (COLOR (car (gimp-layer-new-from-drawable drawable img2)))
             (TEMP0 (car (gimp-layer-copy drawable FALSE)))
             (TEMP1 (car (gimp-layer-copy drawable FALSE)))
             (TEMP2 (car (gimp-layer-copy drawable FALSE)))
             (TEMP3 (car (gimp-layer-copy drawable FALSE)))
             (TEMP4 (car (gimp-layer-copy drawable FALSE)))
             (TEMP5 (car (gimp-layer-copy drawable FALSE)))
             (TEMP6 (car (gimp-layer-copy drawable FALSE)))
            (colorsave '(0 0 0))
        )
        (gimp-image-add-layer img TEMP0 -1)
        (gimp-image-add-layer img TEMP1 -1)
        (gimp-image-add-layer img TEMP2 -1)
        (gimp-image-add-layer img TEMP4 -1)
        (gimp-image-add-layer img TEMP3 -1) 
        (gimp-image-add-layer img TEMP5 -1)
        (set! colorsave (car (gimp-context-get-foreground)))
        (gimp-context-set-foreground '(177 177 177))
        (gimp-drawable-fill TEMP5 FOREGROUND-FILL)
        (gimp-layer-set-mode TEMP5 OVERLAY-MODE)
        (gimp-context-set-foreground colorsave)
        (gimp-desaturate-full TEMP3 DESATURATE-AVERAGE)
        (gimp-layer-set-mode TEMP3 DODGE-MODE)
        (gimp-desaturate-full TEMP4 DESATURATE-AVERAGE)
        (gimp-desaturate-full TEMP2 DESATURATE-AVERAGE)
        (plug-in-gauss RUN-NONINTERACTIVE img TEMP3 (* width .013) (* height .013) 0) ;IIR
        (gimp-invert TEMP3)
        (gimp-image-merge-down img TEMP3 EXPAND-AS-NECESSARY)
        (set! TEMP4 (car (gimp-image-get-active-layer img)))
        (gimp-layer-set-mode TEMP4 MULTIPLY-MODE)
        (gimp-threshold TEMP4 237 255)
        (gimp-threshold TEMP2 25 255)
        (gimp-layer-set-mode TEMP2 MULTIPLY-MODE)
        (gimp-layer-set-opacity TEMP2 60.0)
        (gimp-desaturate-full TEMP1 DESATURATE-AVERAGE)
        (gimp-layer-set-mode TEMP1 DIVIDE-MODE)
        (gimp-levels TEMP1 HISTOGRAM-VALUE 0 181 1.0 0 255)
        (gimp-image-merge-down img TEMP1 EXPAND-AS-NECESSARY)
        (set! TEMP0 (car (gimp-image-get-active-layer img)))
        (gimp-image-merge-down img TEMP2 EXPAND-AS-NECESSARY)
        (set! TEMP0 (car (gimp-image-get-active-layer img)))
        (gimp-image-merge-down img TEMP4 EXPAND-AS-NECESSARY)
        (set! TEMP0 (car (gimp-image-get-active-layer img)))
        (gimp-image-merge-down img TEMP5 EXPAND-AS-NECESSARY)
        (set! TEMP0 (car (gimp-image-get-active-layer img)))
        (gimp-layer-set-name TEMP0 "Comic")
        (gimp-image-add-layer img2 COLOR -1)
        (gimp-edit-copy TEMP0)
        (gimp-floating-sel-anchor (car (gimp-edit-paste COLOR 0)))
        (gimp-image-convert-indexed img2 NO-DITHER MAKE-PALETTE 34 FALSE FALSE "0")
        (gimp-edit-copy COLOR)
        (gimp-floating-sel-anchor (car (gimp-edit-paste TEMP0 0)))
        (gimp-image-add-layer img TEMP6 -1)
        (gimp-desaturate-full TEMP6 DESATURATE-AVERAGE)
        (gimp-brightness-contrast TEMP6 83 120)
        (gimp-layer-set-mode TEMP6 MULTIPLY-MODE)
        (gimp-layer-set-opacity TEMP6 60.0)
        (gimp-image-merge-down img TEMP6 0)
        (gimp-image-delete img2)
        (gimp-undo-push-group-end img)
        (gimp-displays-flush)
    )
)
(script-fu-register
 "script-fu-Comic"
 _"<Image>/Script-Fu/Artistic/Comic"
 "Creates a Comic Book Effect."
 ""
 ""
 "2011"
 "RGB*"
 SF-IMAGE    "Image"        0
 SF-DRAWABLE    "Drawable"    0
)

Comic