hi,
I've am using Inkscape 0.45.1 to try and create tiles. The tiles look nice except there are very ugly white stripes between the tiles. I downloaded yesterday 0.46 pre-release and selected the new preference option geometric bounding box (which encloses only the path itself, disregarding stroke width) but still get lines at the edges of the tiles. How do I create tiles which will perfectly match at the edges without those ugly white lines? For example here is a picture of a tile done in the P4M format and a zoomed pic of it. Inkscape is really good. I really like the idea that the tiling is build in but those lines will force me to give up on tiles. Hope there is a way around this. Is this a bug? Shouldn't tiles work automatically without the white space? Thanks.
How to get rid of white stripes between tiles?
Re: How to get rid of white stripes between tiles?
The problem is caused by the way antialiasing works. In a sense, there's nothing wrong with the SVG file, it's just that Inkscape doesn't render it well. But every other SVG renderer I've tried has the same problem, so for practical purposes it's a problem with the SVG file.
The antialiasing artifacts aren't white lines, they're transparent lines. So one way to fix the problem is to put something of the right colour behind the lines. For example, if you put your tiled pattern over a black rectangle, the black regions should be OK. But fixing up the blue regions as well is more complicated: you probably need an appropriately designed tiled pattern behind the current one (and offset from it, so that the antialiasing artifacts don't line up).
Another way to fix the problem may be to use tiles that are "too big", so that they overlap. (Are you doing the tiling with a pattern fill, or are you using tiled clones?)
On the other hand, if you just want to create a bitmap file from the SVG, you can probably make do by rendering it much larger than you need, and then scaling it down.
The antialiasing artifacts aren't white lines, they're transparent lines. So one way to fix the problem is to put something of the right colour behind the lines. For example, if you put your tiled pattern over a black rectangle, the black regions should be OK. But fixing up the blue regions as well is more complicated: you probably need an appropriately designed tiled pattern behind the current one (and offset from it, so that the antialiasing artifacts don't line up).
Another way to fix the problem may be to use tiles that are "too big", so that they overlap. (Are you doing the tiling with a pattern fill, or are you using tiled clones?)
On the other hand, if you just want to create a bitmap file from the SVG, you can probably make do by rendering it much larger than you need, and then scaling it down.
Re: How to get rid of white stripes between tiles?
hi,
Thanks. I've now entered it as a bug because to me those lines should not be there.
Thanks. I've now entered it as a bug because to me those lines should not be there.
Re: How to get rid of white stripes between tiles?
Link to the bug report: https://bugs.launchpad.net/inkscape/+bug/189284
I'm sure this problem has been reported before. Unfortunately, I don't see how it can be fixed. But there are things that could be done to improve the situation to some extent.
I'm sure this problem has been reported before. Unfortunately, I don't see how it can be fixed. But there are things that could be done to improve the situation to some extent.
Re: How to get rid of white stripes between tiles?
I posted her at my website about creating and adding patterns to the pattern stock list. It also details oversizing pattern contents and reducing the pattern bounding box size to get the pattern repeats to overlap.
I've done the same thing with bitmap patterns... copying the left column over to the right and the top row to the bottom to make a n by m bitmap into an n+1 by m+1 pattern, then reducing the bounding box in the svg file back down to n by m
-Rob A>
I've done the same thing with bitmap patterns... copying the left column over to the right and the top row to the bottom to make a n by m bitmap into an n+1 by m+1 pattern, then reducing the bounding box in the svg file back down to n by m
-Rob A>
Re: How to get rid of white stripes between tiles?
Thanks Rob for the idea of changing the boundary box.
At the bottom of the page http://tavmjong.free.fr/INKSCAPE/MANUAL_v11/html/Tiles-Symmetries.html there is this comment:
I created a tiled clone, undo (undid?), editted the xml and changed the tile-h and the tile-w to one pixel smaller. It may have helped but not fully. Tried a few more adjustments but nothing really fixed it.
At the bottom of the page http://tavmjong.free.fr/INKSCAPE/MANUAL_v11/html/Tiles-Symmetries.html there is this comment:
A solution to this problem is to define your tiles without a stroke and then add one to the base tile after tiling. Another solution is to edit the lines in the XML file with the XML Editor dialog that control the tile size: “inkscape:tile-h†and “inkscape:tile-w†(these will appear after you have cloned the object and are used only if the Use saved size and position of the tile button is checked).
I created a tiled clone, undo (undid?), editted the xml and changed the tile-h and the tile-w to one pixel smaller. It may have helped but not fully. Tried a few more adjustments but nothing really fixed it.
Re: How to get rid of white stripes between tiles?
Did you try making the size of your pattern begin and end on a whole pixel? That should fix the horizontal and verticle lines. Then I would have thought adjusting the bounding box a fraction so it clips the pointy ends of the triangle pattern should get rid of the diagonal lines.