Jump to content
You must now use your email address to sign in [click for more info] ×

Incorrect dimensions at export


Recommended Posts

3 minutes ago, Callum said:

This is currently a known issue that is logged with our developers to be improved in the future.

C

Thank you a ton for your confirmation.

Please let the devs know, that this is really urgent/important for producers like me - it makes a huge difference.

Link to comment
Share on other sites

  • 6 months later...

Version 2 has some promising and cool new features. However, this bug (yes it is) is still in.

While I understand that not everyone can be pleased I am astonished and really frustrated that this bug made it into 2.x

Let's look at it profoundly:

  • Serif claims to have products that are so precise that you can zoom into your precious designs in 6-digit values and more
  • but the Apps cannot export an artboard exactly on the pixel.
  • Designers for Online media are forced to check their 20+ artboards everytime before exporting their webbanners in different sizes

Serif should fix this ?!£/&%-Bug or state that the apps are not suited for any kind of design for online media. I lack the time of moving the artboards around like eggs every single time I need some space in between them.

Link to comment
Share on other sites

I agree that it sucks, having complained about this "approach" quite a few times myself.

But… frankly, as you said:

14 hours ago, abra100pro said:

I lack the time of moving the artboards around like eggs every single time I need some space in between them.

… and thus I simply adopted a different workflow:

  1. All my most used units are set to 6 decimal places, so that I'm in control. Whenever something's not aligned, I'll see it in the Transform panel.
  2. When working in pixels, snapping is on, with at least the following active:
    Force pixel alignment
    Snap to pixel selection bounds
    Also, "Move by whole pixels" must be off, even though it seems counterintuitive. Otherwise it would be imposible to align a misaligned object to integer pixels.
  3. In a new ADe document with artboards on, the first auto-generated artboard is logically always pixel aligned. That's my starting point anyway.
  4. As long as I don't hold the Option key (Option key overrides snapping!), every other object I create, move or duplicate will be pixel aligned.
  5. I work with View > View Mode > Pixels being on for immediate control.
  6. Each layer object has its own Blend Options where I can additionally adjust the antialiasing coverage map or turn antialiasing off completely.

Öppe so chunnts de scho guet. :) 

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

1 hour ago, abra100pro said:

You find the file attached

Well… as expected, the objects are not aligned to the pixel grid:

ade_pixel_preview_not_aligned.png.ea99bcd58ee0ff448e0920cd534f942e.png


To see that, you don't even have to export them: View > View Mode > Pixels
If you're working in the pixel domain, you shouldn't be using any other view mode in the first place.

Also watch the Transform panel values. You must set Preferences > User Interface > Decimal Places > Pixel to 6. If you have "0", you will not see that the values are not integer. The setting affects just the display, not the actual values. (It's not a bug, not even a feature, it's a confusing concept flaw.)

And… you should work in px all the way through, also for stroke width. At 72 ppi though, 1 pt = 1 px, so no change needed.
But your strokes must be integer value to avoid antialiasing. 3.5 pt will never work.

Here the same object roughly aligned to pixel grid, strokes 4 pt:

ade_pixel_preview_aligned.png.a5959fd5f4bd8b44c9dabd0366c9f5f9.png

Back to the drawing board, literally… ;) 

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

… aand, in the end, that all also affects your export problem.

If I select this pixel-aligned object and export it, it will be 53×37 px, exactly as the preview shows:
Bounding box 49×31 px, plus those 4 px extra width and 6 px extra height, as seen above.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

@loukash

If I would export the red elements only I'd say you're right but there is an invisible rectangle around the red elements which has exactly the same dimension behind every icon:

image.png.1e0b5af2813f627ed0e19786f608f36e.png

 

This should make considering the exact position of the red icon elements obsolete.

These rectangles are 55x50px and have no outlines/strokes so I expect them to export at exactly this size.

Link to comment
Share on other sites

3 hours ago, abra100pro said:

These rectangles are 55x50px and have no outlines/strokes so I expect them to export at exactly this size.

You must align them to pixel grid as well. There is no way around that.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

4 hours ago, abra100pro said:

These rectangles are 55x50px

OK, downloaded your file again:
The invisible rectangle is 55×50 px, but the 3.5 pt RGB 7/7/7 outline of the pen is antialiased, and that's what's adding the extra pixel at the bottom. (Why a light gray outline in the first place? That doesn't make sense. You just want to knock out the other red lines, right?)

Anyway.
If you want your icons to export precisely as 55×50 px, don't group the invisible placeholder rectangle with the content. Use the rectangle as a clipping path instead. Problem solved, all your misaligned antialiased pixels will be simply cut off.

Summed up:
No bug.
User error.

Henusode, gits i de beschte Familie… ;) 

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

Speaking of which…

On 4/20/2022 at 2:31 PM, walt.farrell said:

Serif does not agree that the requirement to pixel-align the Artboards is a bug

Meanwhile, I tend to agree with Serif's assertion here.

Pixels or Points is not always the "ultimate" units. Or "das Mass aller Dinge", as the Germans say. (Pun, ha!)
Take Adobe apps: Internally, some are apparently calculating in inches, or in points, I don't know. In any case, in all those years I have experienced many rounding errors caused by that, because I work mostly in mm. It's not by much, maybe 0.01 mm here or there, but it can add up when scaling, multiplying and aligning.

Affinity is much, much more precise.

Just yesterday I started to convert my own old logo documents (yep, like the one in my avatar) from ai/eps/indd to Affinity. Back then – 20 years ago – I actually assumed that when working in mm, all my ellipses would be precisely sized and aligned: 13 mm, 6.5 mm etc. To my surprise, after opening the old files with Designer, I noticed that all the ellipses were like 13.003934×13.007391, 6.501937×6.502192, etc., also slightly off any mm grid. All that are rounding errors from Illustrator.

Long story short:

Sometimesdon't want my artboards and anything else to be pixel aligned, I want them to be millimeter aligned. Affinity gives me the options to have it either way.
That's a feature, not a bug.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

26 minutes ago, loukash said:

Speaking of which…

Meanwhile, I tend to agree with Serif's assertion here.

Pixels or Points is not always the "ultimate" units. Or "das Mass aller Dinge", as the Germans say. (Pun, ha!)
Take Adobe apps: Internally, some are apparently calculating in inches, or in points, I don't know. In any case, in all those years I have experienced many rounding errors caused by that, because I work mostly in mm. It's not by much, maybe 0.01 mm here or there, but it can add up when scaling, multiplying and aligning.

Affinity is much, much more precise.

Just yesterday I started to convert my own old logo documents (yep, like the one in my avatar) from ai/eps/indd to Affinity. Back then – 20 years ago – I actually assumed that when working in mm, all my ellipses would be precisely sized and aligned: 13 mm, 6.5 mm etc. To my surprise, after opening the old files with Designer, I noticed that all the ellipses were like 13.003934×13.007391, 6.501937×6.502192, etc., also slightly off any mm grid. All that are rounding errors from Illustrator.

Long story short:

Sometimesdon't want my artboards and anything else to be pixel aligned, I want them to be millimeter aligned. Affinity gives me the options to have it either way.
That's a feature, not a bug.

No, it is not a feature:

When you have an artboard 23.3mm by 33.75mm you'd expect it to export at 23.3mm by 33.75mm

When you have an artboard that is 733px by 400px you'd expect it to export at 733px by 400px no matter where on the canvas the artboards are. 

This (as it is now, seen in the movie) makes absolutely no sense and makes the work with many artboards ridiculously difficult.

Precision is arguable but the location on the canvas isn't. There is NO case in which this makes sense.

Link to comment
Share on other sites

1 hour ago, abra100pro said:

you'd expect it to export at 733px by 400px no matter where on the canvas the artboards are. 

The common misconception here is that artboards are pages.
They are not.
They are vector objects. (Alright, perhaps a kind of hybrid being between objects and layers, with a small trace of a "page aura". :))

You can align and place them wherever you want. 
You can stack them, you can nest them.
They can be any shape. :82_heart_eyes_cat:
You can assign their own attributes to them
You can skew them, rotate them.
Heck, you can even warp them.

ade2_artboards_nested_warped.png.ee962023b3134bfcc2be4883f63c27b2.png

When doing so, I expect them to keep the exact position I gave them.
When I want them misaligned, I don't want them to ignore my crazy wish!

On the other hand, if I want them pixel aligned, I will simply enable my Snap to full pixels preset before doing anything else. Problem solved.

The issue (not a bug but an oversight in my book) is that when snapping is not enabled, Designer confusingly doesn't tell you upfront that you should check if all your artboards themselves are aligned to the absolute pixel grid.
But even then, select View Mode > Pixels and you'll see it right away.

From what I can tell, it's always the X/Y of the leftmost artboard that defines 0 of the absolute pixel grid. Everything else is relative to it.
This is just something you have to be aware of, and it should be mentioned in the help files. That's an omission.

But I agree that it might be good to have an option whether artboards are supposed to obey the absolute position on the canvas (current method), or – as long as they don't overlap – whether they should be seen as independent objects within their own little universe. I'm just not sure if the latter is technically even possible, given the "physical" nature of the artboard objects.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

1 hour ago, abra100pro said:

When you have an artboard that is 733px by 400px you'd expect it to export at 733px by 400px no matter where on the canvas the artboards are.

Affinity will add any "Alpha > 0" pixels caused by antialiasing to the bounding box dimensions, especially if the bounding box is not aligned to the pixel grid. That's the "physics" of the Affinity universe. You can't have "halfpixels" here.

If you want to preview what's being added to the bounding box, 1) use View Mode > Pixels, as already noted, and 2) select the artboard in the layers panel, click the Blend Options cog, and set (temporarily) Antialiasing to Force Off. All pixels that are Alpha>0 will now be shown as Alpha=1, i.e. fully opaque.

So far, it's all completely logical, even though not obvious at first sight.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

Thanks, @loukash, this made things much clearer to me.

Then I still have one single wish which comes very close to a bug report: 

At export each artboard's upper left must be considered its individual 0x 0y position. (There is even an option at export to export everything with "background" if I want these artboards to be exactly where they really are in relation to each other):

image.png.8b0ab4c5b63e54a423636c072dced674.png

Going further on this: When I select any element and I then export this element solely (Selection only) its upper left should be considered as 0x 0y – that's the only way that makes sense – Why would I otherwise want to export it individually?

Link to comment
Share on other sites

3 hours ago, abra100pro said:

At export each artboard's upper left must be considered its individual 0x 0y position.

But the fact is that currently it's not the case.
As I have noted, at this time Affinity only knows absolute postions. That alone is not a "bug" because:

3 hours ago, abra100pro said:

There is even an option at export to export everything with "background" if I want these artboards to be exactly where they really are in relation to each other

 

3 hours ago, abra100pro said:

Going further on this: When I select any element and I then export this element solely (Selection only) its upper left should be considered as 0x 0y – that's the only way that makes sense – Why would I otherwise want to export it individually?

So, "formally speaking", that's a feature request. Not a bug report. ;) 
And it's a valid feature request that I fully support.

Speaking of the Export persona:
I've always had quite a few issues with it and how slices are handled. I remember once getting an explanation from staff, e.g. why slices don't snap to objects etc., but I can't find the thread.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

  • 3 weeks later...

Also super frustrated about this. If I set up an artboard to be 1024x1024 pixels (by manually typing in the values), then make sure they are placed on whole pixel locations (I've learnt this with time) and then create an export slice from this artboard I expect it to be 1024x1024 pixels. Not 1025x1025.

Surely it cannot be a feature to not have the export slice for an artboard not be the same size as the artboard size? If I knew this was fixed in v2 I would upgrade just to fix this issue I'm constantly running into. But reading this thread and seeing how long the issue has been around without a fix makes me think it's probably the same in v2?

I have a feeling that this problem also gets worse with larger documents, making me think that there's some sort of hidden rounding error going on in the background where the artboard sizes and positions are recalculated from pixels to some other units and then back to pixels for the slices, introducing some hidden decimals we can't see that then cause these export size problems.

Link to comment
Share on other sites

1 hour ago, gafvert said:

Also super frustrated about this. If I set up an artboard to be 1024x1024 pixels (by manually typing in the values), then make sure they are placed on whole pixel locations (I've learnt this with time) and then create an export slice from this artboard I expect it to be 1024x1024 pixels. Not 1025x1025.

Can you share a .afdesign document that has the problem?

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

 

On 12/15/2022 at 1:31 PM, walt.farrell said:

Can you share a .afdesign document that has the problem?

No, but as others have pointed out this issue seems to be pixel misalignment of art board origins. For example it you have an artboard that is sized 1024x1024 it will not result in a slice with that size if it's placed at  X: 1000.1px Y: 1000px. Since there is apparently a global pixel grid outside the artboards the export slices are taken from the pixel misalignment will result in a 1025x1024 slice. So that's the first non-apparent thing you need to understand.

However, the issue I'm frustrated with is that even when you figure this out and enable force pixel alignment to avoid this issue it seems Designer sometimes introduces some small fractions to artboard origin coordinates when you move artboards. Like making 1000px into 1000.0254px or something. And the problem making this worse is that these fractions aren't shown in the interface, so it still says X: 1000px making you think it's properly aligned, while the hidden fraction values are causing export slice misalignment. To avoid this, you also need to re-enter the values for origins each time you move an artboard. Even if it says 1000px and force pixel alignment is enabled you need to select the field and manually type in 1000 and hit enter to make sure it's actually 1000px.

 

Link to comment
Share on other sites

1 hour ago, gafvert said:

you need to select the field and manually type in 1000 and hit enter to make sure it's actually 1000px.

You can also click into the field and go: arrow up (rounds up to next full integer) > arrow down (back to previous integer).

1 hour ago, gafvert said:

And the problem making this worse is that these fractions aren't shown in the interface, so it still says X: 1000px making you think it's properly aligned, while the hidden fraction values are causing export slice misalignment. To avoid this […]

… we should always go: Preferences > User Interface > Decimal Places > 6. All units full on.
That's the major flaw in Affinity's unit fields "concept".

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | 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.