NMS Posted December 2, 2024 Posted December 2, 2024 I know one way to do this, but I'm wondering if there are better ways. I'm making a map in Designer, and I want to create a small 2-4 pixel buffer around the symbols and labels, to make them stand out. If my map had a white background, this would be easy, as I could just use layer effects to add this in white. The problem is that this map is going to get a textured/colored background layer behind everything, and I want that background to show through those buffers, as well as any other "white" space on the map. A layer effect would cover up my background with white, unless there's some trick I don't know about. So, my next solution is masking out the other layers below it. I can 1) copy all of the shapes, 2) contour them out a few pixels and bake, and 3) use this layer to mask out all of the layers below until the background layer. But this will mean that every time I need to make even the smallest change to fix a mistake, I have to rebuild this mask and do it again. Does anyone have any better ideas? I've attached a small close-up example of what I'm talking about from an earlier project using other software. The background appears to be a solid color here in this snapshot, but it varies slightly over the whole poster. Hopefully this makes it clear what I'm trying to do. Quote
Pšenda Posted December 2, 2024 Posted December 2, 2024 Try Blend mode Erase (possibly in a group so that the deletion is applied only to selected objects). Quote Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.5.7.2948 (Retail) Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 24H2, Build 26100.2605. Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 24H2, Build 26100.2605. Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.
NMS Posted December 2, 2024 Author Posted December 2, 2024 Thanks, I didn't know about the "Erase" blend mode. But I'm not sure how I can use it to get what I want. I thought I would try it with one of the layer effects to get the buffer. But "Erase" doesn't seem to be available for blend modes in any of the layer effects. I can use it for shapes and layers, but then I would still have to build a buffer layer every time I make a change. Can you give me some details on how you would use it for this? Quote
NotMyFault Posted December 2, 2024 Posted December 2, 2024 There are other approaches possible. I did not fully get the structure of your document. If you can reserve one specific color (combination of RGB values), you can use layer fx with that color, to create a buffer zone overwriting any background. As a final step, you can make this color transparent, so that a global background will become visible on exactly the area defined by the buffer color. In case you use simply white as buffer color, a blend mode may do the trick. it depends on the actual structure of layers what works best, and what colors can be reserved for special purposes. the trick is to use groups, and apply blend range. Example: the white stroke of the heart knocks out the underlying map, to let the background gradient shine through. NMS 1 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.
thomaso Posted December 3, 2024 Posted December 3, 2024 I'm wondering if there wouldn't be a way to apply a stroke with the 'Erase' blend mode that doesn't affect only the object itself but also the layers underneath? (Odd, for text objects, the stroke cannot be given a blend mode, only the entire layer) Quote macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1
NotMyFault Posted December 3, 2024 Posted December 3, 2024 6 hours ago, thomaso said: (Odd, for text objects, the stroke cannot be given a blend mode, only the entire layer) Dirty trick: create a compound from the text. Then you can assign multiple strokes with individual blend modes. but it seems erase doesn’t work as expected. You can create gaps, but you can’t erase layers below. 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.
NMS Posted December 3, 2024 Author Posted December 3, 2024 I can structure the document any way I want to get what I need, I'm open to suggestions. But here's basically what I've got right now: Several Layers with text labels -- I have them separated by feature type, "rivers", "roads", "cities" so it's easier to find them if I need to tweak the fonts. Several layers with point symbols -- again, separated by type, "cities", "airports", "points of interest" Linework Layer Mask layer made by taking all of the text and label shapes, adding a buffer, and cutting them out of a image-sized black rectangle. Nested layers for the actual features -- roads, lakes, rivers, etc. Background layer The way the design works, anything white should be transparent all the way to the background, so I think that does simplify things. 14 hours ago, NotMyFault said: There are other approaches possible. I did not fully get the structure of your document. If you can reserve one specific color (combination of RGB values), you can use layer fx with that color, to create a buffer zone overwriting any background. As a final step, you can make this color transparent, so that a global background will become visible on exactly the area defined by the buffer color. In case you use simply white as buffer color, a blend mode may do the trick. it depends on the actual structure of layers what works best, and what colors can be reserved for special purposes. the trick is to use groups, and apply blend range. Example: the white stroke of the heart knocks out the underlying map, to let the background gradient shine through. Thank you, I think the blend range might be what I'm looking for. Yes, anything white should be transparent to the background. And playing around with it, this seems to work. I created a layer with some shapes and text in it. I set an outline layer effect on all of them to create a white buffer. I set the blend mode for the layer to Normal, then opened up the Blend Options. I changed the Source Layer Ranges so that the line goes from top left to bottom right (found this through trial and error, I really don't understand what these lines mean). This turned the white buffer transparent, and if the fill color for the objects are black, this is fine. If they are even slightly off-black, they start to turn transparent... but I think that works with what I'm going for. So, I think this would be the new structure: Main Layer (on which the blend mode is set to make white transparent) Nested text and Symbol layers (with outline layer effects to create white buffers) Nested linework layers (no mask needed) Background layer This also simplifies some other blocking I've had to do in other layers, since I can just set some fills to white instead of creating a new mask. Quote
thomaso Posted December 3, 2024 Posted December 3, 2024 10 hours ago, NotMyFault said: but it seems erase doesn’t work as expected. You can create gaps, but you can’t erase layers below. I wonder if the behaviour of the stroke blend mode "Erase" has been coded this way "by design". Considering that all other stroke blend modes do interact with the layers below the exception/denial of "Erase" may easily appear as a bug. It may be influenced by the fact that the stroke blend mode "Erase" has an erasing effect only for parts inside the object and does nothing if aligned outside. Accordingly it affects half stroke width if centre aligned. But even then the question remains why does the stroke blend mode "Erase" behave differently at all and its affect on the outside of a shape is generally excluded? 1 hour ago, NMS said: Blend Options. I changed the Source Layer Ranges so that the line goes from top left to bottom right (found this through trial and error, I really don't understand what these lines mean). This curve represents visibility in a brightness range, i.e. one side* = dark (e.g. black), the other = light (e.g. white) and top = 100%, bottom = 0% *left/right depends on the document colour space, RGB (additive) <-> CMYK (subtractive) Quote macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1
NotMyFault Posted December 3, 2024 Posted December 3, 2024 1 hour ago, thomaso said: I wonder if the behaviour of the stroke blend mode "Erase" has been coded this way "by design". Considering that all other stroke blend modes do interact with the layers below the exception/denial of "Erase" may easily appear as a bug. Has been discussed in 2019 by you, I just found those older reports. The behavior is acceptable for me, it should only be properly documented. What I don’t get is that text layers and compounds behave differently wrt appearance panel. Again, should be documented. thomaso 1 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.
Pšenda Posted December 4, 2024 Posted December 4, 2024 On 12/2/2024 at 9:43 PM, NMS said: But I'm not sure how I can use it to get what I want. Same cloud (copy Ctrl+J), the bottom one has Erase mode and a wider line to create a buffer. Quote Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.5.7.2948 (Retail) Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 24H2, Build 26100.2605. Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 24H2, Build 26100.2605. Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.
Pšenda Posted December 4, 2024 Posted December 4, 2024 20 hours ago, thomaso said: I wonder if the behaviour of the stroke blend mode "Erase" has been coded this way "by design". If Erase mode is used in a Group, it is applied to layers/objects only within that group - which is very useful and desirable. In my opinion, it works similarly for Appearance - Erase is applied only to elements/lines within that Appearance group. Quote Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.5.7.2948 (Retail) Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 24H2, Build 26100.2605. Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 24H2, Build 26100.2605. Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.
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.