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

Affinity Designer - Color Change lower layers but not empty space


Recommended Posts

Hello, I would like to know how to to use a shape to color all of the fills/strokes below it, but not impact empty space/transparency. 

Attached Example: I want to color all the shapes/lines under the triangle green. But I do not want to color the empty space between the lower shapes/layers or transparent background green. 

I can get the effect I'm after by duplicating my shapes and using a parent shape as a mask. I can place the duplicates above the rest and manually update the stroke/fills to the color I want. This becomes difficult on complex projects. 

I feel like I am missing a simpler way using layer effects or blend modes? Any advice would be appreciated! Thank you!

 

Screenshot 2022-12-14 at 9.12.03 PM.png

Link to comment
Share on other sites

Do you need the result in vector format (SVG), or rasterized (Jpeg, PNG)?
 

i first idea

  • if you can sacrifice one color e.g. pure black (not usable for objects, will be marker for transparency)
  • add fill layer in black at bottom
  • Add green triangle on top
  • Set blend mode of triangle to exclude black in destination
  • Put all into one grouop
  • set blend mode to exclude black in source 

i will experiment more to find a solution without helper color.

If you need the output in vector format, you need to use boolean operations like divide or intersect.

You could use symbols do avoid manual duplicating everything.

B8FF8716-9D88-4827-BB9C-5B6D4ACD9AFE.png

567F6D99-A37B-4C6D-B42D-390DF23F5E90.png

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

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.

My posts focus on technical aspects and leave out most of social grease like „maybe“, „in my opinion“, „I might be wrong“ etc. just add copy/paste all these softeners from this signature to make reading more comfortable for you. Otherwise I’m a fine person which respects you and everyone and wants to be respected.

 

Link to comment
Share on other sites

Edit: I didn't read the question correctly. The following doesn't display the parts of the bottom shapes that are outside the top shape, so this isn't the solution you're looking for.

I think this gives you what you're after...

  1. Group the Top Object that you want the other objects to inherit the fill from.
  2. Group the objects below the top object (Bottom Objects).
  3. Drag the Bottom Objects group to the Top Object group folder icon to create a mask.

Before

image.png.3b017f5d47ce067d339fc7d0629f5d28.png

 

After

image.thumb.png.2a22c6279a0813451f2db0a67e8f373a.png

 

Example.afdesign

 

Windows 10 22H2, 32GB RAM | Affinity Designer/Photo/Publisher 2 (MSI/EXE)

Link to comment
Share on other sites

Option 2, using photo

  1. have your composition done except green triangle (must be inactive layer)
  2. go to channels panel
  3. choose composite alpha, create spare channel
  4. activate or create green triangle
  5. add mask
  6. channels panel->load spare channel to mask alpha

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

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.

My posts focus on technical aspects and leave out most of social grease like „maybe“, „in my opinion“, „I might be wrong“ etc. just add copy/paste all these softeners from this signature to make reading more comfortable for you. Otherwise I’m a fine person which respects you and everyone and wants to be respected.

 

Link to comment
Share on other sites

Simplest method

  1. add recolor adjustment on top
  2. add triangle in masking position 

904FF29B-1551-4DE5-9359-087834B3CCA5.png

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

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.

My posts focus on technical aspects and leave out most of social grease like „maybe“, „in my opinion“, „I might be wrong“ etc. just add copy/paste all these softeners from this signature to make reading more comfortable for you. Otherwise I’m a fine person which respects you and everyone and wants to be respected.

 

Link to comment
Share on other sites

The recoloring works, but for objects with a border it does not propperly!

The black outline has green touch!

image.png.80c7925050ef69da8a00dbc3ca109657.png

AMD Ryzen 7 5700X | INTEL Arc A770 LE 16 GB  | 32 GB DDR4 3200MHz | Windows 11 Pro 24H2 (26100.2033)

Affinity Suite V 2.5.5 & Beta 2.(latest)
Interested in a free (selfhosted) PDF Solution? Have a look at Stirling PDF

Before you ask! No!

Link to comment
Share on other sites

🤔

Maybe...
Make a Symbol of your group of objects and use that to mask your color shape.
Any changes to the symbol will be automatically reflected in the mask so you won't have to update both by hand.
Lock children if you want to move/change the color shape. Move/change the contents of the symbol if you want to alter any of that.

1439700990_ScreenShot2022-12-15at11_21_16AM.png.91b6e212ee6ee5d8db602b65a53432c7.png

Link to comment
Share on other sites

7 hours ago, Komatös said:

The recoloring works, but for objects with a border it does not propperly!

The black outline has green touch!

image.png.80c7925050ef69da8a00dbc3ca109657.png

that is true, but based on the specification & given example from the OP it is exactly what he wants.

PS i misread your comment.

The more severe issue: recolor result depends on luminosity of underlying layers.

It is possible to add an curves adjustment to set an explicit luminosity value, unfortunately this causes anti-aliasing issues at the edges. 

 

 

 

 

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

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.

My posts focus on technical aspects and leave out most of social grease like „maybe“, „in my opinion“, „I might be wrong“ etc. just add copy/paste all these softeners from this signature to make reading more comfortable for you. Otherwise I’m a fine person which respects you and everyone and wants to be respected.

 

Link to comment
Share on other sites

Ok, best and final solution:

  1. add channel mixer adjustment
  2. for each color channel (RGB, but not A)
    1. set color contribution to 0
    2. set offset to intended color, e.g. green 100%
  3. add rectangle (or intended curve) into masking position.

this solution reliably sets the wanted color, and respects alpha values, including anti-aliased edge pixels. Stroke colors like white or black get recolored, too.

 

As alternative, you can use levels or curves adjustment.

Or gradient map. This allows to use 256 steps per color channel. Set both nodes to the same color.

Better comfort possible by procedural texture filter. There you can set the color values in finest steps, not only 1% but 1/255 or 1/65535 

085934A2-772B-4AC2-8EF5-A48E3B422B29.png

13108B86-7F08-4C6C-8941-25B128E57326.png

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

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.

My posts focus on technical aspects and leave out most of social grease like „maybe“, „in my opinion“, „I might be wrong“ etc. just add copy/paste all these softeners from this signature to make reading more comfortable for you. Otherwise I’m a fine person which respects you and everyone and wants to be respected.

 

Link to comment
Share on other sites

18 hours ago, NotMyFault said:

Simplest method

  1. add recolor adjustment on top
  2. add triangle in masking position 

904FF29B-1551-4DE5-9359-087834B3CCA5.png

I had no idea those special layers existed!

This was exactly what I was looking for! No need to dupe/mask my shapes anymore.

Thank you!

Link to comment
Share on other sites

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.