2017-06-17 2 views

Répondre

0

Vous avez besoin d'un ID de modèle - la façon de faire plus simple que est d'utiliser le scriptListener et de trouver avec un test rapide remplir et vérifier le code d'écoute. Voici un exemple:

var myPattern = "d5706459-5277-11e7-aad4-ff82069d78d5"; 
fill_with_pattern(myPattern) 

function fill_with_pattern(patternID) 
{ 
    var idFl = charIDToTypeID("Fl "); 
    var desc1283 = new ActionDescriptor(); 
    var idUsng = charIDToTypeID("Usng"); 
    var idFlCn = charIDToTypeID("FlCn"); 
    var idPtrn = charIDToTypeID("Ptrn"); 
    desc1283.putEnumerated(idUsng, idFlCn, idPtrn); 
    var idPtrn = charIDToTypeID("Ptrn"); 
    var desc1284 = new ActionDescriptor(); 
    var idNm = charIDToTypeID("Nm "); 
    desc1284.putString(idNm, """40x40"""); // id name 
    var idIdnt = charIDToTypeID("Idnt"); 
    desc1284.putString(idIdnt, patternID); 
    var idPtrn = charIDToTypeID("Ptrn"); 
    desc1283.putObject(idPtrn, idPtrn, desc1284); 
    var idOpct = charIDToTypeID("Opct"); 
    var idPrc = charIDToTypeID("#Prc"); 
    desc1283.putUnitDouble(idOpct, idPrc, 100.000000); //opacity 
    var idMd = charIDToTypeID("Md "); 
    var idBlnM = charIDToTypeID("BlnM"); 
    var idNrml = charIDToTypeID("Nrml"); 
    desc1283.putEnumerated(idMd, idBlnM, idNrml); 
    executeAction(idFl, desc1283, DialogModes.NO); 
} 

Je pense que vous pouvez appeler un modèle par son nom au lieu de son ID - mais je ne l'ai pas réussi le faire avec succès. Si vous essayez avec un modèle préexistant, comme Bubbles, vous obtiendrez du code comme ceci:

desc1297.putString(idNm, """$$$/Presets/Patterns/Patterns_pat/Bubbles=Bubbles"""); 
var idIdnt = charIDToTypeID("Idnt"); 
desc1297.putString(idIdnt, """b7334da0-122f-11d4-8bb5-e27e45023b5f""");