RSS/Atom feed Twitter
Site is read-only, email is disabled

Script-fu newbie: need to batch-convert files to indexed color

This discussion is connected to the gimp-user-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

1 of 1 message available
Toggle history

Please log in to manage your subscriptions.

Script-fu newbie: need to batch-convert files to indexed color Paul Santa Maria 09 Jan 07:53
Paul Santa Maria
2006-01-09 07:53:46 UTC (over 18 years ago)

Script-fu newbie: need to batch-convert files to indexed color

Hi -

I'm new to Script-Fu, Scheme and Gimp plug-ins. I'm running gimp 2.2.4 on SuSE Linux 9.3. I've been through all of the tutorials, and several days of trial-and-error, but I just can't get it to work.

I need to write a script that converts all of the *.png files in a directory from RGBA to indexed color. All of the files need to share the *same* palette, so I'm using the standard "Web" palette. It works fine manually, but I've had no luck getting the script to work.

When I run it from the command line, I get this: gimp -i -b '(script2-test ../../proj/hbaview/data/gimp_scaled/*.png)' '(gimp-quit 0)' No batch interpreter specified, using the default 'plug_in_script_fu_eval'. batch command: experienced an execution error.

When I run it from Xtns, I get this: (script2-test ../../proj/hbaview/data/gimp_scaled/*.png) ERROR: unbound variable (see errobj)

The script is below. Any idea what I'm doing wrong?????

Thank you VERY much in advance! ============================================================ ;
; Adapted from:
; - http://www.gimp.org/tutorials/Basic_Batch/ ; - less gimpconvert_pdb.h =>
; boolean gimp_image_convert_indexed ; (gint32 image_ID, ; GimpConvertDitherType dither_type, ; GimpConvertPaletteType palette_type, ; gint num_cols, ; gboolean alpha_dither, ; gboolean remove_unused, ; const gchar *palette); ;
(define (script2-test pattern)
(let* ((filelist (cadr (file-glob pattern 1)))) (while filelist
(let* ((filename (car filelist)) (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename))) (drawable (car (gimp-image-get-active-layer image)))) (gimp-image-convert-indexed image
FS-DITHER
MAKE-PALETTE
216
FALSE
FALSE
"Web"))
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename) (gimp-image-delete image)) (set! filelist (cdr filelist)))) (script-fu-register
"script2-test"
"script2-test"
"Convert RGB to Indexed"
""
""
"January 8, 2006"
""
SF-STRING "pattern" "/home/paulsm/proj/hbaview/data/gimp_scaled/RocketBoy_scal ed0001.png")

(script-fu-menu-register "script2-test"
"/Xtns/Script-Fu/Utils")