You are here

Half Tile Offset

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Rate this item!

Offsets all layers by half. Image/Half_Tile_Offset Useful when creating a tilable texture. Just press Alt+I,O and you can start editing the image-edge seams.

A workflow-friendly fast alternative to going around every layer and selecting Layer/Transform/Offset... / Offset by x2,y2 / OK

 

Usage:

Let's say we have this 256x256 crop:

Original image, before editing

 

After the Image/Half-Tile-Offset command, we get this:

After Half Tile Offset

There was no UI to get in the way of workflow, and you can switch around offsets at any time. (Creating tiled textures requres such switching back-and-forth)

After some quick edits for 2 minutes with the clone-stamp tool, we have this image:

Resulting texture. Pardon the quality

 

To see how nicely it tiles, Filter/Map/Tile.../512/512/OK :

Visualization of the tiling

 

Enjoy :)

Code License: 
GIMP Version: 
Scripting Engine: 

Comments

Execution error for 'Half Tile Offset':
Error: set!: unbound variable: theImage (in GIMP 2.6.8)

Yes, I immediately met that problem when using it in 2.6.x instead of 2.2.4 . I tried a bunch of guides, fixed the runtime errors- but stumbled on something that looks like a bug: the layers didn't shift at all; the undo/redo history showed no changes were made, either.
I went back to fixing it several times, but ultimately gave-up.
I'd like someone to help me fix it, for users who unlike me don't hate 2.6.x .


(define (script-fu-half-tile-offset inImage inLayer)
(let
(
(theImage 0)
(theLayer 0)
(theHeight 0)
(theWidth 0)
(AllLayers 0)
(num-layers 0)
(layer-array 0)
(layer-count 0)
(layer 0)
)

...
...
(gimp-displays-flush)
)
)

I have this script working with gimp for painters 2.6.10. First I have to thank you for writing such a useful script for making seamless tiles.

However, there is one drawback with offsetting the image by half. When you use the clone stamp to fix the seams close to the edges, you end up making new seams. The solution is very simple. Offset the image by 1/3 instead of 1/2.

1st pass: use a soft brush with clone stamp to fix the seams that are not close to the edges of the image.
2nd pass: fix the remaining seams.
3rd pass: the image is offset back to the original position, and this time there should be no seams, and no new seams made while fixing the other seams either.

I included the fix by Premik and changed the offset value to 1/3rd and changed the name of the script to "One Third Tile Offset".

You can download the modified script from: http://www.eirikhanssen.com/dl/gimp/scripts/one-third-tile-offset.scm

I found myself actually shifting three layers the other day. I flattened them all together before shifting them back rather than have to shift all three. This is awesome. Thanks!

Both the script and the explanation are excellent. I wish all script writers would use pictures to explain their scripts.

Subscribe to Comments for "Half Tile Offset"