3

I am trying to capture a photoshop action that requires setting the foreground color by using the color picker at a particular location in the image.

When I record the action, a 'set foreground color' operation is recorded, but to a fixed color, the one I have just picked. I want the action to be something like "use picker to capture color at location (x,y)".

Is there any way to persuade Photoshop (either CS6 or CC) to record this sort of action?

2 Answers 2

3

Here is a script which samples the 10,10 pixel location and sets the foreground color:

var docRef = app.activeDocument
var pixelLoc = [UnitValue("10 pixels") , UnitValue("10 pixels")];
var colorSamplerRef = docRef.colorSamplers.add(pixelLoc);
app.foregroundColor = colorSamplerRef.color

You can run the script as part of an action sequence.

Further reading google: "adobe photoshop scripting reference"

3
  • Thanks! I was hoping for something instant, but I'll manage with the script. I'll use this scheme.
    – emrys57
    Mar 29, 2014 at 17:36
  • Note that it is possible to show a prompt for the pixel coordinates.
    – horatio
    Apr 1, 2014 at 14:40
  • What modifications are needed in the script above for it to work in Photoshop CC 2014.2.1? Thanks, Jeff
    – user34011
    Nov 25, 2014 at 1:34
1

I've rewrote the code provided by Horitio so it'll work in newer versions of photoshop.

var docRef = app.activeDocument;
var pixelLoc = [32,42];
var colorSamplerRef = docRef.colorSamplers.add(pixelLoc);
app.foregroundColor = colorSamplerRef.color;

x = 32 and y = 42. Set this to whatever you need it to be.

Hint: Tap f8 to figure out what the x and y location of your mouse are.

1
  • thank you for this script. I tried pasting the script into Apples script editor, however photoshop wont let me select it. I know very little about scripting, so I was just wondering if I am missing an extra step? Any help would be much appreciated. Thank you Apr 6, 2023 at 8:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.