Photoshopで特定の座標の色を取得し、その色でべた塗りレイヤーを作成するスクリプトを紹介します。
作業の効率化やカラーパレット作成に役立つスクリプトです。


目次
スクリプトのメリット
- 指定した座標の色を取得して自動でべた塗りレイヤーを作成
- RGB値を取得し、一貫したカラーパレット作成が可能
- 色を手作業で取得する手間を省ける
座標から色を取得し、その色のべた塗りレイヤーを作成する方法
STEP.1 スクリプトをダウンロード・格納
- 下記のコードをテキストエディタ等に貼り付けて保存
Photoshopのほかの操作は、まとめからご覧いただけます。
あわせて読みたい


Photoshopの使い方|保存・レイヤー・一括処理から探す
Photoshopでやりたい作業から記事を選べます。複数の画像に同じ編集を繰り返す場合は「アクション・一括処理」、JSXファイルを初めて使う場合は「スクリプトの導入・実…
//レイヤーからカラーを取得する
var docRef = app.activeDocument
var pixelLoc = [UnitValue("10 pixels") , UnitValue("10 pixels")];
var colorSamplerRef = docRef.colorSamplers.add(pixelLoc);
app.foregroundColor = colorSamplerRef.color
//カラーのRGB値を取得
var Colour = app.foregroundColor;
var R = Colour.rgb.red.toFixed(2);
var G = Colour.rgb.green.toFixed(2);
var B = Colour.rgb.blue.toFixed(2);
//べた塗りの作成
makeSolidFill (R,G,B);
function makeSolidFill(redC,greenC,blueC){
var idMk = charIDToTypeID( "Mk " );
var desc15 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref4 = new ActionReference();
var idcontentLayer = stringIDToTypeID( "contentLayer" );
ref4.putClass( idcontentLayer );
desc15.putReference( idnull, ref4 );
var idUsng = charIDToTypeID( "Usng" );
var desc16 = new ActionDescriptor();
var idType = charIDToTypeID( "Type" );
var desc17 = new ActionDescriptor();
var idClr = charIDToTypeID( "Clr " );
var desc18 = new ActionDescriptor();
var idRd = charIDToTypeID( "Rd " );
desc18.putDouble( idRd, redC);//Red variable
var idGrn = charIDToTypeID( "Grn " );
desc18.putDouble( idGrn, greenC);//green variable
var idBl = charIDToTypeID( "Bl " );
desc18.putDouble( idBl, blueC );//blue variable
var idRGBC = charIDToTypeID( "RGBC" );
desc17.putObject( idClr, idRGBC, desc18 );
var idsolidColorLayer = stringIDToTypeID( "solidColorLayer" );
desc16.putObject( idType, idsolidColorLayer, desc17 );
var idcontentLayer = stringIDToTypeID( "contentLayer" );
desc15.putObject( idUsng, idcontentLayer, desc16 );
executeAction( idMk, desc15, DialogModes.NO );
}
CGM_GetColorFromCoordinates.jsxを以下のフォルダに保存します。
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\- Photoshopを再起動します。
STEP.2 スクリプトを実行
- [ファイル] → [スクリプト] → [CGM_GetColorFromCoordinates] を選択します。
- カンバスの左上からX:10、Y:10 の色を取得し、描画色に設定されます。
- 取得したRGB値でべた塗りレイヤーが自動作成されます。
この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
シェイプや塗りを作る方法は、ほかにも紹介しています。
あわせて読みたい


Photoshopスクリプト(jsx)│背景レイヤーを「塗りつぶしレイヤー」にする方法
Photoshopで新規ドキュメントを作成すると同時に、背景レイヤーを塗りつぶしレイヤーに変更するスクリプトを紹介します。 このスクリプトを実行すると、指定サイズの背…
あわせて読みたい


輝度を透明度に変換する方法|Photoshopの手順とクリスタとの違い
ここでは白背景に黒い線を描いた画像を例にします。 元レイヤーを複製してから作業し、選択範囲を解除した状態でレイヤーマスクを追加します。 マスクへ貼り付ける際は…
あわせて読みたい


Photoshop│反転したマスクの作り方|ベタ塗り+マスクを自動化するスクリプトも
Photoshopで 線の色を簡単に変更 できる 「ベタ塗り+マスク(反転)」 の活用方法を紹介します。 スクリプトを使えば、 ワンクリックでベタ塗りレイヤーと反転マスクを…
あわせて読みたい


Photoshopスクリプト(jsx)│選択したグループを反転コピーする方法
Photoshopで選択したグループを反転コピーするスクリプトを紹介します。 左右対称のデザインやLive2Dの素材作成に役立ちます。 https://youtu.be/hf9owHjfTLQ?si=QV0u-E…
まとめ
- 指定した座標の色を取得し、自動でべた塗りレイヤーを作成
- RGB値を取得し、カラーパレットの作成を効率化
- 手作業で色を拾う手間を削減
Photoshopで自動的に色を取得し、効率的にカラーパレットを作成できます。
