Why people still converting, photoshop brushes in to GIMP brushes since GIMP now (version 2.6.5) already accept photoshop brushed directly. We can put the photoshop brushes in tho GIMP brush directory and ready to use that photoshop brushes.
That what I did in past, now I will convert Photoshop to GIMP brushed before use it, and the question why I should did that ? The answer is for faster GIMP loading and brush loading. In my opinion when we use photoshop brushes directly GIMP actually doing some ‘background converting’ from photoshop brushed file in to GIMP brushes.
You can see the difference the first loading GIMP, and when you start using brushes, (click the kind of brushes box) it will load longer than we use pure GIMP brushes. For experiment I convert my 26 file (approx 92MB) in to GIMP brushes, total GIMP brushes I’ve got is 410 MB and GIMP loading faster load it rather than I using 26 Photoshop
brushes.
For the complete step of converting photoshop brush you can follow this tutotial :
http://www.gimp-tutorials.com/tutorial/How-to-Convert-PhotoShop-Brushes-Gimp-259.html
Except on “Gimp Batch Brush Converter Script” step, which you download it from http://www.deviantart.com/deviation/31179822/ . From my experience that Batch script didn’t work with GIMP 2.6.5, you will get some error messege about kind of variable.
Since I didn’t too understand about GIMP scripting, I search on net and found work version of GIMP batch script. Using script below as your batch brush converter script, savi it as brush_batch.scm (Credit for script owner)
(define (brush-batch load opt name filename spacing location)
(let* (
(a
(cond
(( equal? opt 0 ) “.jpg” )
(( equal? opt 1 ) “.bmp” )
(( equal? opt 2 ) “.xcf” )
(( equal? opt 3 ) “.png” )
(( equal? opt 4 ) “.gif” )
))
(filelist (cadr (file-glob (string-append load “\\*” a) 1)))
(s 1)
(count (car (file-glob (string-append load “\\*” a) 1)))
(drawable)
(selection-bounds)
(sx1)
(sy1)
(sx2)
(sy2)
(swidth)
(sheight)
(newimage)
(newlayer)
(active)
(filename2)
)
(while (pair? filelist)
(let* (
(loadfile (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE loadfile loadfile)))
)
(gimp-image-flatten image)
(set! drawable (gimp-image-get-active-drawable image))
(if (= 1 (car (gimp-selection-is-empty image)))
(gimp-selection-all image))
(gimp-displays-flush)
(gimp-edit-copy (car drawable) )
(set! selection-bounds (gimp-selection-bounds image))
(set! sx1 (cadr selection-bounds))
(set! sy1 (caddr selection-bounds))
(set! sx2 (cadr (cddr selection-bounds)))
(set! sy2 (caddr (cddr selection-bounds)))
(gimp-image-delete image)
(set! swidth (- sx2 sx1))
(set! sheight (- sy2 sy1))
(set! newimage (gimp-image-new swidth sheight 0))
(set! newlayer (gimp-layer-new (car newimage) swidth sheight 1 “newlayer” 100 0))
(gimp-image-add-layer (car newimage) (car newlayer) 0)
(gimp-drawable-fill (car newlayer) 3)
(gimp-edit-paste (car newlayer) 0 )
(gimp-image-flatten (car newimage))
(set! active(gimp-image-get-active-drawable (car newimage)))
(gimp-desaturate (car active))
(gimp-image-convert-grayscale (car newimage))
(gimp-displays-flush)
(gimp-selection-all (car newimage))
(set! filename2 (string-append location “/” filename (string-append (number->string s))”.gbr”
))
(file-gbr-save 1 (car newimage) (car active) filename2 (string-append name (number->string s)) spacing (string-append name (number->string s))))
(set! s (+ s 1))
(gimp-image-delete (car newimage))
(set! count (- count 1))
(set! filelist (cdr filelist))
))
)
(script-fu-register “brush-batch”
“
“turns a folder of files into brush’s works with jpg, bmp, xcf, png and gif”
“Karl Ward”
“Karl Ward”
“April 2006″
“”
SF-DIRNAME “Load from” “”
SF-OPTION “File Type”‘(“jpg” “bmp”"xcf”"png”"gif”)
SF-STRING “Brush Name” “name”
SF-STRING “File Name” “filename”
SF-ADJUSTMENT “spacing” ‘(25 0 1000 1 1 1 0)
SF-DIRNAME “SAVE TO FOLDER” “”)