Skip to main content
Inspiring
April 4, 2012
解決済み

Brush tip names

  • April 4, 2012
  • 返信数 2.
  • 629 ビュー

Am I right in thinking there's no way of finding out the current brush tip name with scripting? Apart from manually looking at the Preset Manager in text only mode. I thought it would be quite easy to reiterate though the current brushes and export out their names; but it's proving to be easier to do it by hand.

このトピックへの返信は締め切られました。
解決に役立った回答 Paul Riggott

This will get the current names...

#target photoshop
var Presets = getPresetList();
var f = new File(Folder.desktop + "/Brush Tip Names.txt");
f.open('w');
for(var v in Presets){
f.writeln(Presets);
}
f.close();
f.execute();

function getPresetList(){
var ref = new ActionReference();
   ref.putEnumerated( charIDToTypeID("capp"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
   var appDesc = executeActionGet(ref);
  var List = appDesc.getList(stringIDToTypeID('presetManager'));
  var presetNames=[];
    var list = List.getObjectValue(0).getList(charIDToTypeID('Nm  '));
    for (var i = 0; i < list.count; i++) {
      var str = list.getString(i);
      presetNames.push(str);
    }
return presetNames;
}

返信数 2

Ghoulfool作成者
Inspiring
April 4, 2012

That's a beautiful thing, Paul. Thank you.

Paul Riggott
Paul Riggott解決!
Inspiring
April 4, 2012

This will get the current names...

#target photoshop
var Presets = getPresetList();
var f = new File(Folder.desktop + "/Brush Tip Names.txt");
f.open('w');
for(var v in Presets){
f.writeln(Presets);
}
f.close();
f.execute();

function getPresetList(){
var ref = new ActionReference();
   ref.putEnumerated( charIDToTypeID("capp"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
   var appDesc = executeActionGet(ref);
  var List = appDesc.getList(stringIDToTypeID('presetManager'));
  var presetNames=[];
    var list = List.getObjectValue(0).getList(charIDToTypeID('Nm  '));
    for (var i = 0; i < list.count; i++) {
      var str = list.getString(i);
      presetNames.push(str);
    }
return presetNames;
}