Attachment | Size |
---|---|
half-tile-offset.scm | 1.3 KB |
half-tile-offset_example_before.jpg | 24.03 KB |
half-tile-offset_example_after.jpg | 24.04 KB |
half-tile-offset_example_edited.jpg | 23.93 KB |
half-tile-offset_example_tiled_show.jpg | 57.38 KB |
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:
After the Image/Half-Tile-Offset command, we get this:
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:
To see how nicely it tiles, Filter/Map/Tile.../512/512/OK :
Enjoy :)
Comments
Unbound Variable
Execution error for 'Half Tile Offset':
Error: set!: unbound variable: theImage (in GIMP 2.6.8)
Yes, I immediately met that
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 .
Just added let macro and works with Gimp 2.6.10 for me
(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)
)
)
Modifying half tile offset to one third offset is a good idea
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
Awesome!
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!
excellent
Both the script and the explanation are excellent. I wish all script writers would use pictures to explain their scripts.