2017-06-28 2 views
1

J'essaye d'écrire une application pour construire une «carte» numérique d'une image dans Photoshop en utilisant JavaScript. Fondamentalement, cela implique d'utiliser le colorSampler pour obtenir le RVB d'un certain pixel, stocker les valeurs dans un objet et passer à la suivante. Tout fonctionne très bien, sauf quand je reçois dix lectures (le panneau d'information est plein) je reçois.Effacer des échantillons de couleurs dans Photoshop avec le script

« La commande « Make » est actuellement pas disponible »

Toute idée comment je ? peut effacer les échantillons de couleurs via un script afin que le processus puisse continuer ou, à défaut, peut-on penser à des solutions de contournement ou des hacks

Script tel qu'il se présente comme suit:

var vertical_pass = {}; 

for(i=0; i<=10; i++){ 

    // set sampler position 
    var theSampler = app.activeDocument.colorSamplers.add([0 + i, 1]); 

    // Add readings from sampler to object 
    vertical_pass["vp_" + i] = { 
     "x": i, 
     "y": 1, 
     "r": Math.round(theSampler.color.rgb.red), 
     "g": Math.round(theSampler.color.rgb.green), 
     "b": Math.round(theSampler.color.rgb.blue) 
    }; 

    alert(
     "x coords: " + vertical_pass["vp_" + i]["x"] + 
     ". y coords: " + vertical_pass["vp_" + i]["y"] + 
     ". red: " + vertical_pass["vp_" + i]["r"] + 
     ". green: " + vertical_pass["vp_" + i]["g"] + 
     ". blue: " + vertical_pass["vp_" + i]["b"] 
    ); 
} 

Répondre

2

Mieux encore, enlever tous les échantillons avant de commencer:

app.activeDocument.colorSamplers.removeAll(); 
+0

vient de le voir - merci ;-) – Stef

0

Pas de soucis - trouvé la solution - il suffit d'ajouter: theSampler.remove(); avant la fin de la boucle for ;-) Doh!