Create Vector Brushes in GIMP / PS

vsd_tut_brushes_gimp_use_200x150

Although I moved away from commercial graphics software as much as possible, I do recognize there is an enormous user base for them. And as I do like to share the pretty things I create with as many people as possible, my freebies include photoshop brushes and exports in formats like eps and png.

When I posted the free paisley brushes I received a question from John LeMasney (please check out his fabulous daily Inkscape illustrations for his 365 Sketches project) on how I created the paisley brushes. As I use the same method for all my vector brushes, I decided I might as well do a tutorial on it.

What this tutorial is not

This tutorial is not about creating vector designs. It will not show to use Inkscape to create a suitable brush motif, I have published quite a few tutorials on that. It merely describes my workflow on how to create vector brushes for both Photoshop and GIMP.

Quick Links

If you just want to know how to create the brushes and are not interested in how I prepare my files in Inkscape, feel free to jump:

The GIMP Brushes.

The Photoshop Brushes.

Brushes for GIMP and Photoshop?

From the perspective of brush creation, there is one major difference between Photoshop and GIMP:
Photoshop stores its brushes in .abr files, which are collections. GIMP stores its brushes as .gbr files, which are individual brush files.
GIMP is able to use .abr brush sets, but Photoshop is required to create those sets.

Good to know

  • Brushes are created in black/white or grayscale.
  • Vector files are rasterized upon import into Photoshop or GIMP and the size of the imported file will expand dramatically. Importing files as b/w or grayscale keeps use of system resources such as memory in check.
  • Inkscape uses an internal resolution of 90 dpi. If a brush motif is drawn at a known size, say at 500px x 500px in Inkscape units, and the file is imported in an image editor at 90 dpi, the file will be 500px x 500px. It is VERY simple to create brushes at different resolutions WITHOUT loss of quality by modifying the proper values at file import in Gimp or Photoshop.

First things first

A suitable vector design is required. Inkscape is my preferred vector editor and as I wrote quite a few tutorials on vector designs, I will not go into too much detail here.

For this tutorial I use the paisley motif, but feel free to folow along using your own vector design. For brush design you can be quite lazy. There is no need to really create "holes" in your designs. Everything that is white will become transparent upon brush creation.

I normally prepare all brushes in a single Inkscape file as they are a set and I tend to re-use a lot of elements.

While creating them, I do not care about the size, or the location of the elements, whether they are on the canvas or not. I sort of group elements logically, but there is no true order. I often make use of pre-existing "library" sets: .svg files with standard elements that I import into my workfile. My work file may look something like this:

vsd_tut_brushes_workfile
When I am finished I delete all elements that are not part of the final design. Next I scale all elements that I want to use in my brush set to my "known size", which is usually 500px in the largest direction. Of course if you create "matching" elements, you should scale them using the same ratio.

A very handy Inkscape feature is the "Paste Size" option that is found in the Edit menu:
  • First select an object with an appropriate dimension (dimension you have set already)
  • Select Edit > Copy from the menu (Ctrl+C)
  • Select all objects that you want to resize to the same dimensions.
  • Use the appropriate option from the menu Edit > Paste Size. Note that where the option shows "separately" it will apply the resizing to individual objects in the selection, otherwise it is applied to the whole selection.
Experiment with this feature until you master it as it can save a lot of manual work!

Next I allign all objects neatly using the Allign and Distribute dialog vsd_align_distribute_dialog (Ctrl+Shift+A).
There is not much to it, just make sure that each individual element can be selected seperately when the file is rasterized. This means that you should be able to draw bounding boxes around your objects which do not overlap with each other (as you can see I still have the motifs everywhere on the canvas, ignoring document size):

vsd_tut_brushes_paisley_result

ALWAYS save your work as Inkscape SVG, as this is the only format that supports all vector edting features of Inkscape.

Now the file is ready for use in the image editor of choice, and I will describe these paths separately.

The GIMP Brushes

I draw my objects in Inkscape at random size and do not respect document borders until the moment of print or export.
GIMP has no problems reading Inkscape SVG format, but it reads only the elements that are actually ON the document.
If I use GIMP to open the .svg file as saved in the previous picture, I'll end up with something like this:

vsd_tut_brushes_import_gimp1

It is clear most of my brushes are missing.. so much for laziness...

In Inkscape

Save the file in Inkscape with all objects that are part of the brush set on the canvas:

  • Select all objects.
  • Open the Document Properties window (Shift+Ctrl+D)
  • Click the button "Fit page to selection". The canvas will resize to contain all objects in the selection. In the upcoming version 0.48 a margin can be specified too, for now the resize results in a snug fit.
  • Save the file as Inkscape SVG (as a copy if like to retain the original).

In GIMP

  • Open The GIMP.
  • Use File > Open from the menu and select the Inkscape file you just saved.

An import dialog "Render Scalable Vector Graphics" appears.

The dimensions shown in this dialog are for the whole drawing, not for an individual brush. Now remember what I said before: Inkscape works internally with 90dpi, so to get our brushes at our "known" size import them here also with 90dpi.

GIMP makes it very easy for us to create larger brushes: just increase the X or Y-ratio (or both). If your orginal object is 500px x 500px and you want a brush of 1500px x 1500 px, just set the ratio for both to 3. Easy aye?
vsd_tut_brushes_import_gimp_dialog

For this tutorial I imported the file at 90 dpi, 1:1 ratio. So my largest brush will be about 500px in the largest direction.

  • Press OK to import the file.

The file opens as RGB image. Brushes need to be created as grayscale brushes, otherwise they will paint "as is" using their current colours, and not the set foreground colour.

  • Select from the menu: Image > Mode > Grayscale.

Creating the GIMP brush

Next steps are a bit tedious, but not difficult.

  • Use the select tool vsd_tut_brushes_gimp_select in GIMP to draw a bounding box selection around a single brush object:

vsd_tut_brushes_gimp_brush_select
Your selection does not need to be precise, just do not select other objects in your image, or they will become part of your brush. I hope it's clear why I kept lots of white space around a single brush object.

  • Copy the selection.Use the menu Edit > Copy (shortcut Ctrl+C).

In the brush palette you'll see a miniature of the clipboard contents presented as a brush. This is a temporary brush that only persists until you copy something new to the clipboard (or close the program):

vsd_tut_brushes_gimp_clipboard_brush

  • Make your selection into a permanent GIMP brush through the menu Edit > Paste As > New Brush
  • A dialog appears. Name the brush and specify the filename. I tend to keep both the same:

vsd_tut_brushes_gimp_name_brush

  • Press OK to save your brush.
  • Your brush is ready for use and you can select it from the brush palette.
  • Repeat this for every other brush you want to define and there is really nothing else to it.

GIMP saves the brushes to the personal brushes folder. The file location is briefly shown when you save the brush. Typical paths for GIMP2.6 are:

  • Windows: <drive>:\Documents and Settings\<username>\.gimp-2.6\brushes
  • Linux:  /home/<username>/.gimp-2.6/brushes (hidden folder)
Note: GIMP appends a sequence number to a brush file so no brush will be overwritten.
Note: when you create a new document it will open in grayscale mode as that is the last you used. Reset to full colour mode to test all aspects of your custom brush.

The Photoshop Brushes

The most suitable format for brush creation in Photoshop is to export the Inkscape drawing as EPS.

In  Inkscape

  • Use File > Save As to save your Inkscape drawing in Encapsulated Postscript (*.eps) format. Give the file an appropriate name.

An export dialog for EPS will appear:
vsd_tut_brushes_eps_export

Rasterizing of filter objects is ticked per default, but it will only do something if there are filters applied to your objects.

As said before, I draw objects anywhere within Inkscape and they exist on and off the canvas. Luckily this export dialog helps me to to get exactly what I want:
I simply tick the "Export area is drawing" checkbox and untick the "Export area is document" checkbox. Now every item in my file will be included in the EPS export file.

Of course you can use these options otherwise to export just the document area, or even make use of the "Limit export to object with ID" to export a single element. This sounds a bit complicated, but if you inspect any object in Inkscape by clicking on it with the right mouse button and then selecting "Object Properties", it will tell you its ID - which you can then fill out in this box.

  • Click OK to export the drawing in EPS format.

In Photoshop

Important: Photoshop Brushes are *NOT* compatible between versions. If you create a brush with CS4, it cannot be used in an older version. However, if you create a brush in Photoshop 7, it is usable in PS7, CS, CS2, C3, CS4 and PSE2+. If you create brushes for personal use this is of course of no importance, but it counts when you want to share your brushes. Maximum size of a brush suitable for all these formats is 2500px x 2500px. CS4 allows larger brushes tho.

The procedure for creating brushes is the same in all those versions of Photoshop. This tutorial uses screenshots from PS7.

  • Use File > Open from the menu and select the eps file you just exported from Inkscape.

A "Rasterize Generic EPS Format" dialog appears.

vsd_tut_brushes_ps_import

Now again remember what I said before: Inkscape works internally with 90dpi, so to get the brushes at our "known" size import them here also with 90dpi. If your orginal object is 500px x 500px, it will be imported as 500px x 500px.

However this file will be rasterized to 1000px x 1000px if you set the resolution to 180dpi and to 2500px x 2500px if you set the resolution to 450 dpi. This is the easiest way to create various resolution brushes in Photoshop.

  • Set the mode to Grayscale. Brushes are created in Grayscale and using this mode upon import saves use of resources as the file that is kept in memory will be smaller.

Start with an empty collection

Brushes in Photoshop are saved to a brush set. There is no "empty" brush set to start your personal collection with. The quickest way to create an "empty" brush set is to load a small existing brush set and delete the brushes from that set.

  • Open the Brushes palette in the menu Window > Brushes (Shortcut: F5).
  • Click on the small triangle right to the palette name. This opens a submenu.
  • A small set that comes default with Photoshop is "Calligraphic Brushes". Select it from the submenu.

vsd_tut_brushes_ps_load_calligraphic_brushes

A dialog appears to confirm replacement of the current brushes with the selected one:

vsd_tut_brushes_ps_replace_brushes

  • Click on OK to confirm. Do not use "Append".
  • Open the "Preset Manager", which is available through the sub menu (or use menu Edit > Preset Manager).
  • Make sure the preset type is set to "Brushes", which normally should come up as it is the first item of the list.
  • Select the first brush by clicking on it, hold down the Shift-key and add all the other brushes to the selection.
  • Then press the Delete button at the bottom of the dialog. All the brushes are deleted.

vsd_tut_brushes_ps_preset_manager

vsd_tut_brushes_ps_preset_manager_empty

  • Click the Done button.

Defining custom brushes

Use the selection tool vsd_tut_brushes_ps_select_tool in Photoshop to define the area for a single brush:
vsd_tut_brushes_ps_brush_select

  • Select from the menu Edit > Define Brush to create your Photoshop brush.

A dialog appears with the preview of the brush, a size indication and an option to name the brush properly:

vsd_tut_brushes_ps_name_brush

  • Click on OK and the brush is added to the brush palette.

Use the "Expanded View" of the brush palette to set other attributes for your newly created brush (if needed). If the expanded view is not visible you can select it from the submenu.

vsd_tut_brushes_new_brush_in_palette

For pattern brushes I normally omit this step, as I figured the designer that will use this brush has his/her own ideas on size, spacing, colour, flipping axis or not and so on. For brushes that create a specific effect, such as chalk or torn edges these settings are of course what makes the brush and leaving them out is not a good idea.

  • Repeat above steps for every other brush you want to define as part of this brush set.Select "Save Brushes" from the brush palette submenu.

vsd_tut_brushes_ps_save_brushes

  • Browse to a proper location to store your custom brushes and save them with an appropriate name. I called my set vsd_paisley_brushes.abr.
The brushes must be saved to a brush location known in Photoshop to have the set directly available in the brush palette selection list. Personally I do not care too much about this however, as brushes can be loaded/replaced on demand from any location through the submenu.
The normal default path for Windows is: C:\Program Files\Adobe\Photoshop 7.0\Presets\Brushes.
Note: Photoshop needs to be closed for the brushes to appear in this list after you installed them.

Closing remarks

Branding your sets

If you ever downloaded a brush set from this site, you'll know that my sets contain a brush with the "very simple designs" tag illustration. I created a new brush set containing a single custom brush of that illustration. I named that brush set vsd_empty.abr and use that as starting point when I define new brushes.

Deleting A single brush from a brush set

Individual brushes can be deleted from any brush set:

  • Right click on the brush and select "delete brush" from the submenu, or
  • drag a brush on the small recycle bin in the bottom of the brush palette, or
  • the quickest method: hold down the Alt-key and click on the brush that needs to be deleted. The cursor will change to a small scissors to indicate that you are deleting brushes from a set.

Don't forget to save your set after clean-up. Save the brushes with a different name if you want to leave the original set untouched.
Note: you cannot create an empty set this way, one brush will remain in the list.

That's all folks! I hope you'll find this tutorial useful. Feedback is as always highly appreciated.

 

Comments 

 
0 # Guest 2010-03-07 14:30
Hey, Syllie, Thanks for the shout out and once again for a very straightforward and easy to follow resource. I've been using Inkscape for a while and making brushes in the GIMP for a long time, but I still learned quite a bit by you sharing your specific process. Thanks for your generosity!
Reply | Reply with quote | Quote
 
 
0 # syllie 2010-03-07 15:17
My pleasure :D

Cheers,
Syllie
Reply | Reply with quote | Quote
 

Newsflash

We are very proud that the Spiro Swirls Tutorial for Inkscape has gained such popularity.

Today, 28 January 2012,  over 140,000 viewers have visited this page and our statistics show that it is still the most popular tutorial on this site. This tutorial is suitable for Inkscape version 0.47 and 0.48.

Thank you all for viewing and providing feedback. We do our best to make this site the best beginner resource site for Inkscape.