Contextual Eyedropper Tool
Currently, the Eyedropper Tool is an underutilized and often counter-intuitive tool that needlessly increases the complexity of a workflow because of its limitations. This- combined with Illustrator's poor color tools- often adds unnecessary time and effort to what should and could be more simplified tasks.
For example, a common situation is that I have a shape with a fill color that I like, and I want another shape that has a stroke to also use that color, except only for the stroke. Currently, if I use the eyedropper tool on the filled shape, it will completely remove the stroke and add a fill, although the desired result is neither action. The workaround, of course, is to create a new swatch of that color, then make sure the stroke is selected, and then apply the swatch color to that stroke (as the other color tools are essentially useless for matching colors, given no live preview).
This, of course, can get incredibly tedious when dealing with lots of colors and lots of fills and strokes, and it is not always desirable (nor, I would argue, should it be necessary) to always create swatches for working with colors.
This situation is of course not limited to shapes. Often I will have text that I want to have a stroke with particular cap conditions, but want the color from another stroke. However, the current process of using the eyedropper tool strips the formatting of the stroke (or whatever properties) and takes on the properties of the selected object, even though all that was wanted was the color.
A more elegant solution would be to make the eyedropper tool contextual, so that specific properties of the sampled object could applied without completely changing the selected object’s properties to conform entirely to the sampled object.
I would suggest the following that the eyedropper tool be modified to work contextually much like the Pen Tool works contextually.
The default state of the Eyedropper Tool would work as it currently does. However, there would then be different options that could be cycled through in the Eyedropper Tool, analogous to how there is the Pen Tool, the Add Vertex Tool, Subtract, Convert, etc.
In this usage, holding a modifier key or choosing a different function of the eyedropper tool would allow one to decide which aspects of the sampled object to apply to the selected object.
For example, if I have a circle with a red stroke and a box with a blue fill, and I want the circle to have the stroke be the same color as the box’s blue fill, I could hold Alt/Opt (as an example) to switch to the Color Sample Tool which would then sample only the color of the sampled object and apply it to either:
- Whichever property is currently active (e.g., Fill or Stroke)
- If the object has ONLY a Fill or ONLY a Stroke, it would automatically default to applying it to whichever is already extant.
This could be extended to sample the color of the pixel sampled, or the entirety of the fill or stroke (e.g., for gradients, styles, etc.)
Another option (perhaps by holding Alt+Cmd/Ctrl) would be the Stroke Style Sample Tool, which would sample the style of sampled object’s Stroke. This could even be given some further options (perhaps accessed by up or down arrows) to select only weight, weight and Caps style, Weight, Caps Style and Color, etc., all delineated by changes in the icon state.
I think that a contextual Eyedropper Tool would be a more elegant way of handling color and style sampling in Illustrator and eliminate the current workarounds necessary for an efficient workflow.
-
Wes Rand commented
A suggestion that might save you some time (and is something I discovered fairly recently.) If you have a box with a color and want another object to use that color for its stroke, use the eyedropper with the other object selected and then hit "shift" + "x" which will swap fill and stroke colors. A drawback is that the new stroke will be set to the default parameters.
A better option might be Adobe adopting the "Graphic find and replace" tool from Freehand it got when it bought Macromedia. Then you could make conditional changes to objects.