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?


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"

  • Thanks! I was hoping for something instant, but I'll manage with the script. I'll use this scheme. – emrys57 Mar 29 '14 at 17:36
  • Note that it is possible to show a prompt for the pixel coordinates. – horatio Apr 1 '14 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 '14 at 1:34

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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