簡體   English   中英

如何以編程方式檢查Photoshop筆刷是否存在

[英]How check if photoshop brush exist programmatically

我正在嘗試為某些操作創建一個 Photoshop 面板,但我想知道如何檢查畫筆是否已存在於 Photoshop 中,如果不存在則在可以使用該操作之前調用一個函數來安裝它,我已經知道了如何安裝它,以及如何運行操作,但我仍然遇到一些問題,即檢測 Mac/Windows 環境中是否存在畫筆。

有關如何使用 Javascript 執行此操作的任何提示? (JSX)

您可以使用此 AM 片段獲取畫筆或工具預設列表。 請注意,多個畫筆預設可能具有相同的名稱。

var brushesList = getPresetList(0);
var brushName = 'Preset_55890'

for (var i = 0; i < brushesList.length; i++)
{
  if (brushesList[i] == brushName)
  {
    alert('found');
    break;
  }
}

// presetIndex: 0 to 7
// 0: Brush Presets
// 7: Tool presets

function getPresetList(presetIndex)
{
  var presetNames = [];
  var ref = new ActionReference();
  ref.putProperty(stringIDToTypeID("property"), stringIDToTypeID("presetManager"));
  ref.putEnumerated(stringIDToTypeID("application"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
  var desc = executeActionGet(ref);
  var list = desc.getList(stringIDToTypeID("presetManager"));
  var nameList = list.getObjectValue(presetIndex).getList(stringIDToTypeID("name"));
  for (var nameIndex = 0; nameIndex < nameList.count; nameIndex++)
  {
    presetNames.push(nameList.getString(nameIndex));
  }
  return presetNames;
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM