Jump to content
ivan lavosky

Small gaps between object/pattern tiles when snapping

Recommended Posts

Hello,

 

I use Affinity Designer 1.5.5. I was creating a seamless pattern. But what irritating was there were tiny gaps between my pattern tiles. I arranged them using snapping. It also happened if I arranged it manually by incrementing the X or Y of the tiles. I attached the pattern that I am talking about. How can I get rid of this issue?

And one other thing. 
Every time I create a perfect square artboard let's say 400px X 400px, and I start drawing on it. Once I export this particular artboard, the size in export menu can't be perfect square anymore like 400px X 400px. There must be one pixel or two more added mysteriously like 402px X 400px. Even if I just draw a really small thing in the middle of this artboard. The artboard would never be perfect square again. Is that normal?

example.jpg

Share this post


Link to post
Share on other sites

Hi ivan lavosky,

Welcome to Affinity Forums :)

Regarding the first issue (the seams between objects) this is due to the background colour bleeding through the edges of the shapes because of the antialiasing. It's a side effect of how the rasterisation engine works. It's more evident with non-vertican/horizontal angles/edges. Please check this reply from MattP (from the dev team) for additional details.

 

To avoid this ensure the base brown shapes are aligned with the pixel grid (in other words assuring their X, Y coordinates and width/height are integer values). The quickest way to do this is enabling Force Pixel Alignment in the main toolbar or the Snapping Manager (menu View ▸ Snapping Manager). Even so this may not be enough. Other ways to disguise the issue is placing a background object with a similar colour/luminosity as the foreground object or adding a thin stroke (to the brown rectangles in your case) with the same colour as the fill. 

 

---

 

Regarding the second issue this is because the artboard is not aligned with the pixel grid - it's X, Y coordinates are not integer values. If you fix them it will export with the correct dimensions. To do it select the respective artboard layer in the Layers panel (Move Tool), then check its coordinates in the Transform panel to see if they are interger values and remove the decimal part from them. Before doing this go to Affinity Designer Preferences, User Interface section and increase the Pixels value to 3 or 4 in the Decimal Places for Units Types section to ensure you are seeing the whole coordinates values and not a rounded value.

 

To avoid this issue ensure you have Force Pixel Alignment in the main toolbar or the Snapping Manager (menu View ▸ Snapping Manager) as this setting also affects the artboards.

Share this post


Link to post
Share on other sites

Hi MEB, thanks a lot. I really appreciate your effort to keep this forum responsive and alive

Regarding your solution for the first issue (The seams between object), I have tried it both. Maintain the X, Y position & widht/height in integer values. Still the seams are there. And placing a background object with a similar colour/luminosity as the foreground object didn't work either. What worked for me is,

 

1. Make the artboard background transparent, then....

2. Select the objects I want to export and export them with the area: "selection with background"

 

The above workaround only works if the objects don't have any other object beneath it 

 

And for the second issue, it's solved by following your steps. 

Please solve this seams/gaps/hairline issue in the next update. It's really crucial for professional use. 
 

Share this post


Link to post
Share on other sites

What i was trying to say is that there's no solution for the first issue. Have you seen Matt's reply? There's only ways to disguise it. The Force Pixel Alignment can help for vertical/horizontal edges but it doesn't help with angled edges. When i said placing a background object below the pattern i meant covering the whole artboard size not just of a single module of the pattern.

 

What you have done may not have solved the issue. The semi-transparency of the pixels between the edges if not aligned are still there although they are much harder to see iif there's no background colour to contrast with. If you place the exported image over a contrasty coloured background you should see the seams again. Have you tried adding a thin stroke to the base brown rectangle module so they all overlap a little covering the seams area?

Share this post


Link to post
Share on other sites

I did covering the whole artboard using the rectangle with the same colour as the foregound (brown, in this case). But the seams is still there. To make sure it was my pattern itself which caused the problem, I exported to .svg and did the tile arrangement in Inkscape. Then I exported it as .png. I can confirm that my pattern was just okay as the exported result from Inkscape doesn't have this hairline. 

Yea I have read Matt's reply. And with my workaround I think it's just fine. I don't see any semi-transparency pixel. I did check it with maximal zooming using OSX's Preview and Gimp.

Share this post


Link to post
Share on other sites

Hi ivan lavosky,

Thanks for the file. Please check your PM's.

 

There's a few issues here:

1- some modules are overlapping others a little. You can easily see this if you select all the module groups in the Layers panel (selecting the first pressing and holding shift and clicking in the last one). As you can see they bounding boxes (the blue lines) overlap (1st and 2nd rows and 3th and 4th rows).

 

2- the pattern modules in the mockup artboard are also not aligned with the pixel grid. Select a few at random and look at their X, Y coordinates in the Transform panel. You probably have scaled them down to show how they would look when used to fill the wrapper. The original module has 300 px width/heigh while the ones you used inside the wrapper have 102.041px width/height.

 

3- select the wrapper (rounded rectangle): its Y coordinate is not an integer value neither is its height. Although this one doesn't contribute to the seams you can also align it to the grid for consistency purposes.

 

Go to Affinity Designer Preferences, User Interface section and increase the Pixels value to 3 or 4 in the Decimal Places for Units Types section to ensure you are seeing the whole coordinates values in the Transform panel (and not a rounded value) if you haven't done it already. Then reposition/fix the decimal places on all these cases so they all align to the pixel grid. 

 

As i said earlier if you enable Force Pixel Alignment in the main toolbar or the Snapping Manager (menu View ▸ Snapping Manager) from the begining you can prevent these misalignments from happening.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.