Decorations

path-shaped-grid

This script produces a polygonal grid path with various shapes, where all segments of the grid correspond to individual path strokes.

The options are:

Shape

The shape of the polygon: hexagon, rhombus, triangle, square, diamond.

Size

The size of the reference side of the polygon (the one which is vertical or horizontal) or, for diamonds, the width or height.

Aspect ratio

The aspect ratio of the polygon. "0" is a regular polygon, positive numbers increase the size perpendicularly to the reference side, negative numbers reduce it.

Direction

For hexagon, rhombus and triangle, determines if the polygons will have a vertical or a horizontal side. For squares and diamonds, this only changes which direction is the reference.

Anchor X, Anchor Y

The coordinates of one vertex in the grid. In other words, it insures that the grid will have one vertex at that point.

Partial start, Partial end

The position of the actual start and end of the stroke on the side of the polygon. Values 0 and 100 create a stroke that completely covers the side between the two vertices. Values can go as low as -100 and as high as 200 to extend the stroke beyond the polygon side.

Round to integer pixels

If yes the shape is slightly distorted to have integer pixel dimensions. This produces perfectly tilable patterns (by croppig the resulting image to a rectangle with the size indicated in the path name).

Single path

If yes, one single path is produced. If no, a separate path is produced for each side direction.

Usage notes

One can produce very complex patterns by running the script several times using slightly different settings (mosty Anchor and Partial)

and merging the results.

Using the path-to-shape script to produce circles from the segments produces even more complex (but still completely regular) patterns.

slinky

Slinky is mostly obsolete. For most purposes it can be replaced by path-waves It is kept here because there is some functionality that is missing in path-waves.

Slinky creates a sinusoidal path that follows an existing path. The zigs and the zags can be put in two different paths, that, if stroked in two different layers, will create the perspective of a coil around something in a middle layer.

The options are:

Pitch

The lengh of a full period of the sine curve, in pixels.

Width

The width of the sinewave, in pixels (that will extend for one half on each side of the path)

Phase shift

The phase of the sine wave at the beginning of a stroke, in degrees. It is mostly useful when using Slinky several times on the same path, to offset the sine curves.

Split top and bottom

If 'yes', Slinky will produce two paths, one for the zigs, and one for the zags. If 'no', will produce one single path.

Adjust pitch to close path

If 'yes', the pitch value entered will be slightly altered on each stroke to make it an exact submultiple of the length of the stroke to ensure proper closure of the sine wave. This option is active only on 'closed' strokes. If the path is not split, the stroke is additionaly "closed".

Usage notes

Sharp turns in paths are currently poorly handled

Acknowledgments

This plugin is the result of some intense team work that should be given appropriate recognition, so:

  • Thanks to 2-ton@gimpchat for suggesting the catchy name.
  • Thanks to the cheering crowd at GimpChat for the rain dances, even if there is indication that they have overdone it a bit, or have very strong powers.

path-waves

path-waves creates a wave that follows an existing path. The wave can have several shapes:

  • square
  • triangle
  • sine: the intersection with the path is at an angle depending on the pitch/width ratio
  • ellipse: the intersection with the path is perpendicular.
  • circle: the intersection with the path is perpendicular, and the circular shape is enforced (the width parameter is ignored)

Of course, the names of the shapes refers to the shapes obtained from a straight path; the curvature of the path can severely distort them in some cases.

The zigs and the zags can be put in two different paths, that, if stroked in two different layers, can create perspective effects (with the sine wave: of a coil around something in a middle layer).

The options are:

Wavelength

The length of a full period of the wave, in pixels. The pitch value entered will usually be slightly altered on each stroke to make it an exact submultiple of the length of the stroke to ensure proper closure of the wave.

Amplitude

The amplitude of the wave, in pixels (on each side of the path, the wave will therefore be twice as wide in most cases)

Wavelength shift

The phase of the wave at the beginning of a stroke. With None, the wave starts on the path. On closed strokes, this doesn't make much difference, but this allows to control the relative position of several waves produced on the same stroke.

Asymmetry

An asymmetry factor whose effect depends on the wave shape:

  • square: this changes the "duty cycle" of the wave
  • triangle: this changes the symmetrical triangle into a sawtooth
  • sine: the effect is similar to the triangle
  • ellipse: the effect is similar to the sine.
  • circle: this determines the relative side of the half-circles on either side of the path.
Split top and bottom

If 'yes', the script will produce two paths, one for the zigs, and one for the zags. If 'no', it will produce one single path.

Usage notes

Sharp turns in reference paths will cause important distortions.

path-arrow-heads

This script adds arrowheads at the end of open path strokes.

Typical usage

Create the arrow lines with the Paths tool

Run the script to create another path with open arrow heads

Merge the two paths and stroke the result

Or run the script to create another path with closed arrow heads

Create a selection from that path and fill it, and stroke path with the arrow lines

Options

The options are:

Size

The length of the arrow wings.

Angle

The angle of the arrow wings with the axis of the arrow head. The angle between the arrow wings is therefore twice this angle.

Ends

The ends of the strokes that should receive an arrow head. Some path transformations can swap strokes end to end and result in an arrow head that doesn't show up where expected. See reverse-strokes in the Tools section to fix the bad cases.

Close

If 'yes', the arrow head will be a triangle usable for selection and fill.

Axis

'tangent' sets the axis of the arrow head to the exact tangent to the curve on the ending point of the stroke, while 'best fit' adjusts this axis to make the arrow head look a bit more natural.

Usage notes

For best results, keep the length of the arrow wings under a third of the curve radius of the stroke (in other words, don't expect miracles on sharp turns ended by an arrowhead)

neon-path

This script produces a "neon tube" rendering from a path. The rendering is produced on a new layer, and, if requested, a secondary layer is produced to emulate glow or reflection. There is one tube per stroke in the path.

The neon tube colors are taken from the current gradient. The darker part of the tube is the leftmost color of the gradient, and the lightest part the rightmost. This gradient can be the standard foreground-to-background gradient (in which case the colors used will the current foreground and background colors), or specific gradients.

There are two options:

Width

The width of the neon tube produced

Relative width of glow

When not 0, a secondary layer is produced with a larger and blurry image of the tube, that can be used as a glow effect or as a reflection. The layer is preset to 50% transparency but depending on the effect sought, this can be changed or the layer can be blurred further. To emulate a reflection on some background plane, this layer can also be shifted.

Usage notes

For a more realistic look:

  • A good starting point for the colors is to select them using HSV instead of RGB: pick a rather luminous color (V>80), fully saturated (S=100) for the darker color, and the same hue (H value), desaturated (S around 50) and more luminous (V>90) for the lighter part of the tube.
  • Paths obtained from text are usually "outline" paths and not "stroke" paths, while real neon signs are usually of the "stroke" kind ( See the path FAQ for more information.). Furthermore, when using stroke fonts, the path generated can be amended by opening closed loops (as in "O"), and avoiding junctions and intersections (as in "A", "T"...)

Another completely different usage of this script is to approximate a gradient of a given width, directed by the path.

slinky and neon-path team work

Just showing off...