// zufallWekzeuge 0.7 // // Ken Frederick // ken.frederick@gmx.de // // http://www.thebarricades.de/kenfrederick/ // // this script uses stuff borrowed from keegan's "rando-color.js" // as well as from some other things i had written in processing // // // ------------------------------------------------------------------------ // variablen // ------------------------------------------------------------------------ z_konturStaerke = false; z_minKontur = 0.25; z_maxKontur = 48; z_farbe = false; z_farbeFlaeche = true; z_farbeKontur = false; z_farbeFelder = true; z_farbe_c = 0; z_farbe_m = 0; z_farbe_y = 0; z_farbe_k = 0; z_loeschen = false; z_loeschenOft = 2; z_deckkraft = false; z_minDeckkraft = 25; z_maxDeckkraft = 100; Einstellungen(); // ------------------------------------------------------------------------ // funktionen // ------------------------------------------------------------------------ function assignRandom(minr, maxr) { rand = minr + Math.random() * (maxr - minr); //rand = Math.round(minr + Math.random() * (maxr - minr)); return rand; } function randomSwatch(farben) { var randswatch = farben.getSwatch(assignRandom(4, farben.length)); //var randswatch = farben.getSwatch(Math.round(Math.random() * farben.length)); if (randswatch != null) { if (randswatch.color != null) { //make sure swatch is a color or gradient var color = randswatch.color; } } return color; } // ------------------------------------------------------------------------ // Dialog // ------------------------------------------------------------------------ function Einstellungen() { // ------------------------------------ // initialize the window // ------------------------------------ var Dialog = new FloatingDialog(FloatingDialog.OPTION_TABBED); Dialog.setTitle("Random Tools"); Dialog.setSize(200, 300); Dialog.setVisible(true); // ------------------------------------ // löschen // ------------------------------------ var a_loeschen = new CheckBox(Dialog); a_loeschen.setPosition(2, 5); a_loeschen.setSize(20, 15); a_loeschen.setChecked(z_loeschen); a_loeschen.onClick = function(){ z_loeschen = a_loeschen.isChecked(); // set option on click a_loeschenOft.setEnabled(true); } var a_loeschenText = new Static(Dialog); a_loeschenText.setText("Delete"); a_loeschenText.setPosition(23, 6); a_loeschenText.setSize(a_loeschenText.bestSize); a_loeschenText.setFont(6); var a_loeschenOft = new Slider(Dialog); a_loeschenOft.setPosition(28, 28); a_loeschenOft.setSize(145,10); a_loeschenOft.setValue(z_loeschenOft); a_loeschenOft.setRange(2,10); a_loeschenOft.style=Slider.STYLE_SHOW_FRACTION; a_loeschenOft.value = 2; a_loeschenOft.setEnabled(false); var a_loeschenText = new Static(Dialog); a_loeschenText.setText("more"); a_loeschenText.setPosition(5, 25); a_loeschenText.setSize(a_loeschenText.bestSize); a_loeschenText.setFont(0); var a_loeschenText = new Static(Dialog); a_loeschenText.setText("less"); a_loeschenText.setPosition(175, 25); a_loeschenText.setSize(a_loeschenText.bestSize); a_loeschenText.setFont(0); //divider var loeschenDiv = new Frame(Dialog); loeschenDiv.setPosition(0, 43); loeschenDiv.setSize(200, 1); // ------------------------------------ // kontur // ------------------------------------ var a_konturStaerke = new CheckBox(Dialog); a_konturStaerke.setPosition(2, 49); a_konturStaerke.setSize(20, 15); a_konturStaerke.setChecked(z_konturStaerke); a_konturStaerke.onClick = function(){ z_konturStaerke = a_konturStaerke.isChecked(); if (z_konturStaerke == true) { a_maxKontur.setEnabled(true); a_minKontur.setEnabled(true); } else { a_maxKontur.setEnabled(false); a_minKontur.setEnabled(false); } } //stroke text var a_konturStaerkeText = new Static(Dialog); a_konturStaerkeText.setText("Stroke"); a_konturStaerkeText.setPosition(23, 50); a_konturStaerkeText.setSize(a_konturStaerkeText.bestSize); a_konturStaerkeText.setFont(6); //minimum stroke var a_minKontur = new SpinEdit(Dialog, [SpinEdit.STYLE_POPUP_VERTICAL]); a_minKontur.setPosition(30, 71); a_minKontur.setSize(60,20); a_minKontur.setValue(z_minKontur); a_minKontur.setUnits(1); a_minKontur.setEnabled(false); var a_minKonturText = new Static(Dialog); a_minKonturText.setText("Min."); a_minKonturText.setPosition(5, 75); a_minKonturText.setSize(a_minKonturText.bestSize); //maximum stroke var a_maxKontur = new SpinEdit(Dialog); a_maxKontur.setPosition(130, 71); a_maxKontur.setSize(60, 20); a_maxKontur.setValue(z_maxKontur); a_maxKontur.setUnits(1); a_maxKontur.setEnabled(false); var a_maxKonturText = new Static(Dialog); a_maxKonturText.setText("Max."); a_maxKonturText.setPosition(103, 75); a_maxKonturText.setSize(a_maxKonturText.bestSize); //divider var konturDiv = new Frame(Dialog); konturDiv.setPosition(0, 97); konturDiv.setSize(200, 1); // ------------------------------------ // farbe // ------------------------------------ var a_farbe = new CheckBox(Dialog); a_farbe.setPosition(2, 103); a_farbe.setSize(20, 15); a_farbe.setChecked(z_farbe); a_farbe.onClick = function(){ z_farbe = a_farbe.isChecked(); if (z_farbe == true) { a_farbeFlaeche.setEnabled(true); a_farbeKontur.setEnabled(true); a_farbeFelder.setEnabled(true); if (z_farbeFelder == false && z_farbe == true) { a_farbe_c.setEnabled(true); a_farbe_m.setEnabled(true); a_farbe_y.setEnabled(true); a_farbe_k.setEnabled(true); } } else { a_farbeFlaeche.setEnabled(false); a_farbeKontur.setEnabled(false); a_farbeFelder.setEnabled(false); //cmyk selectors a_farbe_c.setEnabled(false); a_farbe_m.setEnabled(false); a_farbe_y.setEnabled(false); a_farbe_k.setEnabled(false); } } var a_farbeText = new Static(Dialog); a_farbeText.setText("Colors"); a_farbeText.setPosition(23, 104); a_farbeText.setSize(a_farbeText.bestSize); a_farbeText.setFont(6); //fill var a_farbeFlaeche = new CheckBox(Dialog); a_farbeFlaeche.setPosition(5, 125); a_farbeFlaeche.setSize(20, 15); a_farbeFlaeche.setChecked(z_farbeFlaeche); a_farbeFlaeche.setEnabled(false); a_farbeFlaeche.onClick = function(){ z_farbeFlaeche = a_farbeFlaeche.isChecked(); // set option on click } var a_farbeFlaecheText = new Static(Dialog); a_farbeFlaecheText.setText("Fills"); a_farbeFlaecheText.setPosition(24, 126); a_farbeFlaecheText.setSize(a_farbeFlaecheText.bestSize); //stroke var a_farbeKontur = new CheckBox(Dialog); a_farbeKontur.setPosition(50, 125); a_farbeKontur.setSize(20, 15); a_farbeKontur.setChecked(z_farbeKontur); a_farbeKontur.setEnabled(false); a_farbeKontur.onClick = function() { z_farbeKontur = a_farbeKontur.isChecked(); // set option on click } var a_farbeKonturText = new Static(Dialog); a_farbeKonturText.setText("Strokes"); a_farbeKonturText.setPosition(70, 126); a_farbeKonturText.setSize(a_farbeKonturText.bestSize); //document swatches var a_farbeFelder = new CheckBox(Dialog); a_farbeFelder.setPosition(110, 125); a_farbeFelder.setSize(20, 15); a_farbeFelder.setChecked(z_farbeFelder); a_farbeFelder.setEnabled(false); a_farbeFelder.onClick = function(){ z_farbeFelder = a_farbeFelder.isChecked(); // set option on click if (z_farbeFelder == false && z_farbe == true) { a_farbe_c.setEnabled(true); a_farbe_m.setEnabled(true); a_farbe_y.setEnabled(true); a_farbe_k.setEnabled(true); } else if (z_farbeFelder == true) { a_farbe_c.setEnabled(false); a_farbe_m.setEnabled(false); a_farbe_y.setEnabled(false); a_farbe_k.setEnabled(false); } } var a_farbeFelderText = new Static(Dialog); a_farbeFelderText.setText("Use Document Swatches"); a_farbeFelderText.setPosition(130, 126); a_farbeFelderText.setSize(70,20); //if (activeDocument.getColorSpace == Color.MODEL_CMYK) { var a_farbe_c = new Slider(Dialog); a_farbe_c.setPosition(15, 149); a_farbe_c.setSize(180,12); a_farbe_c.setValue(z_farbe_c); a_farbe_c.style=Slider.STYLE_SHOW_FRACTION; a_farbe_c.setRange(0,100); a_farbe_c.value = 0; a_farbe_c.setEnabled(false); var a_farbe_c_Text = new Static(Dialog); a_farbe_c_Text.setText("C"); a_farbe_c_Text.setPosition(5, 147); a_farbe_c_Text.setSize(a_farbe_c_Text.bestSize); /* var a_farbe_c_Value = new TextEdit(Dialog); a_farbe_c_Value.setText(a_farbe_c.value); a_farbe_c_Value.setPosition(156, 146); a_farbe_c_Value.setSize(35,17); */ //color M var a_farbe_m = new Slider(Dialog); a_farbe_m.setPosition(15, 164); a_farbe_m.setSize(180,12); a_farbe_m.setValue(z_farbe_m); a_farbe_m.style=Slider.STYLE_SHOW_FRACTION; a_farbe_m.setRange(0,100); a_farbe_m.value = 0; a_farbe_m.setEnabled(false); var a_farbe_m_Text = new Static(Dialog); a_farbe_m_Text.setText("M"); a_farbe_m_Text.setPosition(5, 162); a_farbe_m_Text.setSize(a_farbe_m_Text.bestSize); /* var a_farbe_m_Value = new TextEdit(Dialog); a_farbe_m_Value.setText(a_farbe_m.value); a_farbe_m_Value.setPosition(156, 166); a_farbe_m_Value.setSize(35,17); */ //color Y var a_farbe_y = new Slider(Dialog); a_farbe_y.setPosition(15, 179); a_farbe_y.setSize(180,12); a_farbe_y.setValue(z_farbe_y); a_farbe_y.style=Slider.STYLE_SHOW_FRACTION; a_farbe_y.setRange(0,100); a_farbe_y.value = 0; a_farbe_y.setEnabled(false); var a_farbe_y_Text = new Static(Dialog); a_farbe_y_Text.setText("Y"); a_farbe_y_Text.setPosition(5, 177); a_farbe_y_Text.setSize(a_farbe_y_Text.bestSize); /* var a_farbe_y_Value = new TextEdit(Dialog); a_farbe_y_Value.setText(a_farbe_y.value); a_farbe_y_Value.setPosition(156, 186); a_farbe_y_Value.setSize(35,17); */ //color K var a_farbe_k = new Slider(Dialog); a_farbe_k.setPosition(15, 194); a_farbe_k.setSize(180,12); a_farbe_k.setValue(z_farbe_k); a_farbe_k.style=Slider.STYLE_SHOW_FRACTION; a_farbe_k.setRange(0,100); a_farbe_k.value = 0; a_farbe_k.setEnabled(false); var a_farbe_k_Text = new Static(Dialog); a_farbe_k_Text.setText("K"); a_farbe_k_Text.setPosition(5, 192); a_farbe_k_Text.setSize(a_farbe_k_Text.bestSize); /* var a_farbe_k_Value = new TextEdit(Dialog); a_farbe_k_Value.setText(a_farbe_k.value); a_farbe_k_Value.setPosition(156, 206); a_farbe_k_Value.setSize(35,17); */ //} else if (activeDocument.getColorSpace == Color.MODEL_RGB) { //color R //color G //color B //} //divider var farbeDiv = new Frame(Dialog); farbeDiv.setPosition(0, 209); farbeDiv.setSize(200, 1); farbeDiv.style=Frame.STYLE_SUNKEN; // ------------------------------------ // deckkraft // ------------------------------------ var a_deckkraft = new CheckBox(Dialog); a_deckkraft.setPosition(2, 214); a_deckkraft.setSize(20, 15); a_deckkraft.setChecked(z_deckkraft); a_deckkraft.onClick = function(){ z_deckkraft = a_deckkraft.isChecked(); if (z_deckkraft == true) { a_maxDeckkraft.setEnabled(true); a_minDeckkraft.setEnabled(true); } else { a_maxDeckkraft.setEnabled(false); a_minDeckkraft.setEnabled(false); } } //transparency text var a_deckkraftText = new Static(Dialog); a_deckkraftText.setText("Transparency"); a_deckkraftText.setPosition(23, 215); a_deckkraftText.setSize(a_deckkraftText.bestSize); a_deckkraftText.setFont(6); //minimum transparency var a_minDeckkraft = new SpinEdit(Dialog, [SpinEdit.STYLE_POPUP_VERTICAL]); a_minDeckkraft.setPosition(30, 236); a_minDeckkraft.setSize(60,20); a_minDeckkraft.setValue(z_minDeckkraft); a_minDeckkraft.setUnits(0); a_minDeckkraft.setEnabled(false); var a_minDeckkraftText = new Static(Dialog); a_minDeckkraftText.setText("Min."); a_minDeckkraftText.setPosition(5, 240); a_minDeckkraftText.setSize(a_minDeckkraftText.bestSize); //maximum transparency var a_maxDeckkraft = new SpinEdit(Dialog); a_maxDeckkraft.setPosition(130, 236); a_maxDeckkraft.setSize(60, 20); a_maxDeckkraft.setValue(z_maxDeckkraft); a_maxDeckkraft.setUnits(0); a_maxDeckkraft.setEnabled(false); var a_maxDeckkraftText = new Static(Dialog); a_maxDeckkraftText.setText("Max."); a_maxDeckkraftText.setPosition(103, 240); a_maxDeckkraftText.setSize(a_maxDeckkraftText.bestSize); //divider var deckkraftDiv = new Frame(Dialog); deckkraftDiv.setPosition(0, 262); deckkraftDiv.setSize(200, 1); // ------------------------------------ // apply that shit! // ------------------------------------ var submit = new Button(Dialog); submit.setText("Apply"); submit.setPosition(5, 271); submit.setSize(submit.bestSize); submit.onClick = function() { z_konturStaerke = a_konturStaerke.isChecked(); z_minKontur = parseFloat(a_minKontur.getText()); z_maxKontur = parseFloat(a_maxKontur.getText()); z_farbe = a_farbe.isChecked(); z_farbeFlaeche = a_farbeFlaeche.isChecked(); z_farbeKontur = a_farbeKontur.isChecked(); z_farbeFelder = a_farbeFelder.isChecked(); z_farbe_c = parseFloat(a_farbe_c.value); z_farbe_m = parseFloat(a_farbe_m.value); z_farbe_y = parseFloat(a_farbe_y.value); z_farbe_k = parseFloat(a_farbe_k.value); z_loeschen = a_loeschen.isChecked(); z_loeschenOft = a_loeschenOft.value; z_deckkraft = a_deckkraft.isChecked(); z_minDeckkraft = parseFloat(a_minDeckkraft.getText()); z_maxDeckkraft = parseFloat(a_maxDeckkraft.getText()); magic(); } //end? Dialog.setVisible(true); Dialog.onClose = function() { this.destroy(); //openDialog = false; } } // ------------------------------------------------------------------------ // magic! // ------------------------------------------------------------------------ function magic() { var sel = activeDocument.getMatchingItems(Art, { selected: true }); //var sel = activeDocument.selectedItems; var swatches = activeDocument.swatches; for (var i=0; i