Amazonで商品を見るセール会場へ

Photoshopスクリプト(jsx)│座標から色を取得し、その色のべた塗りレイヤーを作成する方法

Photoshopで特定の座標の色を取得し、その色でべた塗りレイヤーを作成するスクリプトを紹介します。

作業の効率化やカラーパレット作成に役立つスクリプトです。

Photoshopスクリプトを実行し、座標から色を取得してべた塗りレイヤーを作成した様子を示す画面。
指定した座標の色から作成されたべた塗りレイヤーや、取得されたRGB値の例を示す画面。
目次

スクリプトのメリット

  • 指定した座標の色を取得して自動でべた塗りレイヤーを作成
  • RGB値を取得し、一貫したカラーパレット作成が可能
  • 色を手作業で取得する手間を省ける

座標から色を取得し、その色のべた塗りレイヤーを作成する方法

STEP.1 スクリプトをダウンロード・格納

  1. 下記のコードをテキストエディタ等に貼り付けて保存

Photoshopのほかの操作は、まとめからご覧いただけます。

//レイヤーからカラーを取得する
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 );
}
  1. CGM_GetColorFromCoordinates.jsx を以下のフォルダに保存します。
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\
  1. Photoshopを再起動します。

STEP.2 スクリプトを実行

  1. [ファイル] → [スクリプト] → [CGM_GetColorFromCoordinates] を選択します。
  2. カンバスの左上からX:10、Y:10 の色を取得し、描画色に設定されます。
  3. 取得したRGB値でべた塗りレイヤーが自動作成されます。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。

シェイプや塗りを作る方法は、ほかにも紹介しています。

まとめ

  • 指定した座標の色を取得し、自動でべた塗りレイヤーを作成
  • RGB値を取得し、カラーパレットの作成を効率化
  • 手作業で色を拾う手間を削減

Photoshopで自動的に色を取得し、効率的にカラーパレットを作成できます。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Photoshopのおすすめ書籍

動作要件とPCの確認項目

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次