Skip navigation
Currently Being Moderated

Subtract from color with blend mode

Feb 15, 2013 2:57 PM

Tags: #illustrator #color #printing

I'm setting up several squares in rows that left to right the value will change (i.e. +5 % Cyan), and up and down the channel will be defined for the the value changes (as in CMYK).


Underlying each of these squares will be a named global CMYK swatch to easily change the color.


Above each of these will be a static box that overlays with 0-0-0-15 (with blend mode multiply) which would add 15% black to any color below.


My question here is how to do the opposite accurately within Illustrator, to subtract 15% interactivley from the colored box below, the closest I've come is to use; lets say I want to pull 10% from Magenta; is to: 100-90-100-100 with a blend mode of the top object set to Screen. It always seems to result in a jump that is 2 to 3% off.


Multiply allays seems to work corectly, in PS, Illustrastor etc... But I have yet to find a subtractive method that is reliable.


I'm using this to create an simple pick a color and print similar swatches around it, as my workplace has a lot of materials and heat processes that change the final color, and color swatches are in a constant need.


Thanks for any help!



  • Currently Being Moderated
    Feb 16, 2013 9:49 AM   in reply to BradRE

    Which version of Illustrator are you using?


    Also, can you provide a sample .ai file for further inspection?

    Mark as:
  • Currently Being Moderated
    Feb 17, 2013 7:46 AM   in reply to BradRE

    It’s o.k. to put 20% black set to multiply on top of your squares.

    But to reduce colour %s you would do better to go to Edit > Edit Colors > Adjust Color Balance.

    There you can lighten global colours by a given percentage.

    And it’s accurate – I tested it :-)

    Picture 7.png

    Mark as:
  • Currently Being Moderated
    Feb 17, 2013 10:48 AM   in reply to BradRE

    This may not be the correct way about going about doing this...

    It's not. See online help about how blending modes work. You seem to be expecting the various blending modes to simply add/subtract component color values. That's not how they work. Some of them "multiply" the component's base and blend values. Some replace the component's base value with the blend value (or vice-versa, depending on the specific values), etc.


    For example, if the blend object has a Cyan value of 15, and the base object has a Cyan value of 100, and blending mode is set to Lighten, then the resulting C value will be 15, not 85.


    Similarly, if the blend object has a Magenta value of 15, and the base object has a Magenta value of 50, and blending mode is set to Multiply, then the resulting value will be darker, but it will not be as dark as 65.



    The problem is, you're trying to make this interactive. That is, you're trying to set up color chips which automatically increment starting with the base object's color  whenever you change the base object to any arbitrary color. You could do that programmatically with Javascript. But Adjust Colors is not a live effect. You'd have to apply the adjustments each time you changed the base color, which defeats the purpose of the whole exercise.


    You can do something similar in concept by overlaying objects containing only one CMYK component and setting them to overprint:






    This works, because overprint is "live" and it simply replaces the underlying same-component value, regardless of whether it is higher or lower. But still, this doesn't start with the component value of the base and add to it; it simply replaces it.


    Moreover, in your attempt so far (and in the example above), you are incrementing Cyan horizontally and magenta vertically. In what direction are you going to similarly increment yellow and black? Assuming 10% increments, you don't need only 100 color chips, you need 10,000. (It's the old problem of trying to depict four dimensions in two.)


    The old Linotype PostScript Color Guide used arrays similar to my third image, but had individual pages to increment the underlying Y and then another full set of those pages to overlay four values of K.


    Again, it would be fairly trivial to concoct a Javascript which prompts you for a desired percentage increment and then duplicates and shifts the original object for as many iterations as necessary. To use it, you would just draw a square, color it with your base fill and then run the script. But you'd still have to have multiple arrays to increment all four components.




    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points