WillJ Posted August 15, 2021 Posted August 15, 2021 Hello, I've come across this problem where when copying and pasting some pixel art from another file, I end up with anti-aliased edges like it resample in Bilinear, when I want sharp edges like when resampling to Nearest Neighbor. So far the only way around this is to open it in my old Photoshop CS3, using Copy there, then pasting in Affinity Photo. As you might imagine, I would prefer if I didn't have to do it like that. In this screenshot, the left, I did by copying and pasting from Photoshop. The one on the right, I pasted from the other tab in Affinity Photo. Quote
NotMyFault Posted August 16, 2021 Posted August 16, 2021 Hi, i would assume the pasted layer is not correctly pixel-aligned, but moved or resized by 0.5px. could you please check if the pasted layers are pixel-aligned in transform panel ? you may need to change document setup to px (instead of mm), and select at least 4 decimals in Preferences to spot the issue. If you can upload the actual afphoto file, we can check for you. the issue might be caused by having these 2 settings active in parallel: move by whole pixel forced pixel alignment Please temporary uncheck the first setting to correctly pixel-align a mis-aligned layer, or use numeric input in transform panel. the image below shows that one layer is mis-aligned on x-axes (using blend mode difference). It has probably nothing to do with resampling Quote Mac mini M1 A2348 | MBP M3 Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080 LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K iPad Air Gen 5 (2022) A2589 Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps. I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.
WillJ Posted August 16, 2021 Author Posted August 16, 2021 (edited) Hello, Thanks to your guidance, I isolated the problem. In the Preferences, under Performance, the View Quality was set to Bilinear. I switched that to Nearest Neighbor and that fixed it. Changing the Snapping settings of Move by Pixel was not the cause. Edited August 16, 2021 by WillJ Quote
NotMyFault Posted August 17, 2021 Posted August 17, 2021 6 hours ago, WillJ said: In the Preferences, under Performance, the View Quality was set to Bilinear. I switched that to Nearest Neighbor and that fixed it. Sorry i don’t think this could solve the issue. It only covers/hides it while viewing the image in Photo. As soon as you export the image, Photo will resample for export and the issue becomes visible again - unless you adjust the export settings, too. But then again you only hide the issue with that workaround without solving it. It would really help if you could upload an afphoto file to definitely find the root cause. Quote Mac mini M1 A2348 | MBP M3 Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080 LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K iPad Air Gen 5 (2022) A2589 Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps. I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.
WillJ Posted August 17, 2021 Author Posted August 17, 2021 Sure, here's an older version where it does this, and I attached an image file to be copy and pasted. But yeah, tested exporting, and it seems to export properly regardless of what View Quality is set. Except if I Merge Layers, it has the alignment issue again on the new merged layer, so I guess addressing the root problem is best. AF_Round_Tokens.afphoto Quote
NotMyFault Posted August 17, 2021 Posted August 17, 2021 This is all the issue: all pixel layers are positioned at fractional px. If you simply align them to integer positions, the problem is gone. To see the damage occur and vanish: zoom in 400%, select the move tool, click into the x position in transform panel, use the mouse wheel while holding the ctrl-button. This will shift the layer by 1/10 of a pixel. If the decimal digits are 0, its sharp. If not equal to 0, it gets blurry, maximum at 0.5px. Quote Mac mini M1 A2348 | MBP M3 Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080 LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K iPad Air Gen 5 (2022) A2589 Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps. I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.
Staff MEB Posted August 17, 2021 Staff Posted August 17, 2021 Hi @WillJ, Welcome to Affinity Forums These issues are indeed caused by misaligned images (non-integer pixel values) on X,Y or width/height dimensions. To fix this, switch to the Move Tool, enable Force Pixel Alignment in the main toolbar (keep Move By whole Pixels and Snapping disabled no need for them), then drag each image just a bit to force them to align to the pixel grid. If you want to be sure they do align properly keep an eye on the Transform panel when you drag each image - they should end up with integer X, Y coordinates. If you aren't able to see more than one decimal place in the Transform panel (to catch values like 140,06 for example which are still mis-aligned), go to Affinity Preferences, User Interface section and set the Pixel dropdown in the Decimal Places for Unit Types section to two or three. Quote A Guide to Learning Affinity Software
Recommended Posts
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.