1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Используемые цвета

Тема в разделе "Adobe Illustrator", создана пользователем -, 2 окт 2003.

  1. Guest

    Очень часто при работе возникает потребность в помещении используемых цветов в работе в палитру swatches аля FreeHand'овского: Name All Colors.
    Thanks.
     
  2. Guest

    Думаю, только через скрипт. При желании мог бы написать. Только вот, в каком случае бывает необходима такая процедура, я не пойму.
     
  3. Guest

    Например для подготовки к печати этикетки (CMYK + Pantones)
     
  4. Guest

    угу хорошая штука думаю в 11 будет а для 10 скрипт не помешает
    и название сватчей что-бы нормальные были типа как в ИнДезе
     
  5. Guest

    название сватчей что-бы нормальные были типа как в ИнДезе...

    можно просто изменить вид отображения палитры Swatches - поставить как List -
    не подойдет?
     
  6. Guest

    нет 8)
    если взять обьект и перетащить на палитру сватч то в Илее будет New Swatch № а в ИнДе СМИК составляющие
     
  7. Guest

    >> если взять обьект и перетащить на палитру сватч то в Илее будет New
    >> Swatch № а в ИнДе СМИК составляющие

    А если он в режиме HSB или RGB, то как называть?
    И ещё, нужно ли скриптом автоматически удалять неиспользуемые сватчи?
     
  8. Guest

    низнаю для меня это не актуально что народ скажет
    я думаю что нет
    я например по окончании работы неиспользуемые сватчи убираю
    что коллеги думают?
     
  9. Guest

    Muchacho wrote:

    > И ещё, нужно ли скриптом автоматически удалять неиспользуемые
    > сватчи?

    есть же собственное илловское средство. правда, оно зависит от использования этих цветов в кистях и стилях.
    так что я, например, просто сделал себе экшен, который одним нажатием весь этот мусор из чужих документов "в трэш" вытряхивает. )) в моих-то документах всего этого изначально нет - подправлен CMYK startup, - да как и у многих здесь, наверное.

    а вот именование свочей по индизовскому типу - рулит. только может возникнуть вопрос с апдейтом имени после корректировки цвета своча. это реально - скриптом?
     
  10. Guest

    Попробуйте вот эту штучку. Сразу говорю, что на слабых компьютерах илл может на некоторое время призадуматься (особенно, если в файле много текста), т.к. кроме прочего, проверяется и цвет каждого слова в текстовых объектах. Вешчь эта пока не обкатанная, так что, обо всех пожеланиях и жалобах сообщайте.

    function zapArray(col){
    with (Math){
    nam=false;
    switch(col.color){
    case 1:
    col1=col.cmyk;
    nam='C='+round(col1.cyan)+' '+'M='+round(col1.magenta)+' '+'Y='+round(col1.yellow)+' '+'K='+round(col1.black);
    break;
    case 2:
    col1=col.gray;
    nam='Gray='+round(col1.gray);
    break;
    case 3:
    col1=col.rgb;
    nam='R='+round(col1.red)+' '+'G='+round(col1.green)+' '+'B='+round(col1.blue);
    break;
    case 4:
    col1=col.spot;
    nam=col1.spot.name;
    break;
    case 5:
    col1=col.pattern;
    break;
    case 6:
    col1=col.gradient;
    break;
    }
    sovpad=false;

    for(q=0;q<mySw.length;q++){
    try{
    if(col.color==mySw[q].color.color){
    switch(col.color){
    case 1:
    myCo=mySw[q].color.cmyk;
    c=col.cmyk;
    if((round(c.cyan)==round(myCo.cyan))&&(round(c.magenta)==round(myCo.magenta))&&(round(c.yellow)==round(myCo.yellow))&&(round(c.black)==round(myCo.black))){
    sovpad=true
    }
    break;
    case 2:
    myCo=mySw[q].color.gray;
    c=col.gray;
    if(round(c.gray)==round(myCo.gray)){
    sovpad=true
    }
    break;
    case 3:
    myCo=mySw[q].color.rgb;
    c=col.rgb;
    if((round(c.red)==round(myCo.red))&&(round(c.green)==round(myCo.green))&&(round(c.blue)==round(myCo.blue))){
    sovpad=true
    }
    break;
    case 4:
    myCo=mySw[q].color.spot;
    c=col.spot;
    if((c.spot==myCo.spot)&&(round(c.tint)==round(myCo.tint))){
    sovpad=true
    }
    break;
    case 5:
    myCo=mySw[q].color.pattern;
    c=col.pattern;
    if(c.pattern==myCo.pattern){
    sovpad=true
    }
    break;
    case 6:
    myCo=mySw[q].color.gradient;
    c=col.gradient;
    if(c.gradient==myCo.gradient){
    sovpad=true
    }
    break;
    }
    }
    }catch(exc){
    continue}
    }
    if(!sovpad){
    newSw=mySw.add();
    newSw.color=col;
    if(nam){
    newSw.name=nam
    }
    }
    }
    };

    function between(obj){
    if(obj.filled){
    zapArray(obj.fillColor);
    }
    if(obj.stroked){
    zapArray(obj.strokeColor);
    }
    };

    pgItems = activeDocument.pageItems;
    if (pgItems.length>0){
    mySw=activeDocument.swatches;
    for(i=0;i<pgItems.length;i++){
    if(pgItems.typename=='TextArtItem'){
    textR=pgItems.textRange();
    wor=textR.words;
    for(a=0;a<wor.length;a++){
    between(wor[a])
    }
    }else{
    obj=pgItems;
    between(obj)
    }
    }
    for(i=2;i<mySw.length;i++){
    sw=mySw;
    for(q=2;q<mySw.length;q++){
    currSw=mySw[q];
    if(i!=q){
    if ((sw.name==currSw.name)&&(sw.color.color!=4)){
    currSw.remove();
    q--
    }
    }
    }
    }
    }else{}
     
  11. Guest

    а можно скрипт модифицировать так чтобы свотчи создаваемые были глобальными? чтобы последующую перекраску облегчить
     
  12. Guest

    Чёт я слышал что не все проги корректно дружат с глобальными цветами (например, говорят про Кварк). Думаю, для этой цели лучше какой-нибудь отдельный скрипт написать.
     
  13. Guest

    Thanks
     
  14. Guest

    was is das?
    an internal error occurred: PARM
    Line: 120
    ->
    скипт супер!
    СПАСИБО!
     
  15. Guest

    Хороший скрипт. Чесслово.
     
  16. Guest

    > а можно скрипт модифицировать так чтобы свотчи создаваемые были глобальными

    Выдели вручную все нужные тебе Swatch-и, из меню палитры вызови Swatch Options, и выстави нужные тебе атрибуты.
    Не думаю, что есть необходимость прописывать эту операцию в скрипт.
     
  17. Guest

    Paavels wrote:
    >
    > was is das?
    > an internal error occurred: PARM
    > Line: 120
    > ->
    > скипт супер!
    > СПАСИБО!

    Действительно, была такая мулька :(
    Ну теперь я, вроде как от неё "защитился" :)

    Вот немного доделанный скрипт, т.к. сказать, версия 1.1 :)

    function zapArray(col){
    with (Math){
    nam=false;
    switch(col.color){
    case 1:
    col1=col.cmyk;
    nam='C='+round(col1.cyan)+' '+'M='+round(col1.magenta)+' '+'Y='+round(col1.yellow)+' '+'K='+round(col1.black);
    break;
    case 2:
    col1=col.gray;
    nam='Gray='+round(col1.gray);
    break;
    case 3:
    col1=col.rgb;
    nam='R='+round(col1.red)+' '+'G='+round(col1.green)+' '+'B='+round(col1.blue);
    break;
    case 4:
    col1=col.spot;
    nam=col1.spot.name;
    break;
    case 5:
    col1=col.pattern;
    break;
    case 6:
    col1=col.gradient;
    break;
    }
    sovpad=false;

    for(q=0;q<mySw.length;q++){
    try{
    if(col.color==mySw[q].color.color){
    switch(col.color){
    case 1:
    myCo=mySw[q].color.cmyk;
    c=col.cmyk;
    if((round(c.cyan)==round(myCo.cyan))&&(round(c.magenta)==round(myCo.magenta))&&(round(c.yellow)==round(myCo.yellow))&&(round(c.black)==round(myCo.black))){
    sovpad=true
    }
    break;
    case 2:
    myCo=mySw[q].color.gray;
    c=col.gray;
    if(round(c.gray)==round(myCo.gray)){
    sovpad=true
    }
    break;
    case 3:
    myCo=mySw[q].color.rgb;
    c=col.rgb;
    if((round(c.red)==round(myCo.red))&&(round(c.green)==round(myCo.green))&&(round(c.blue)==round(myCo.blue))){
    sovpad=true
    }
    break;
    case 4:
    myCo=mySw[q].color.spot;
    c=col.spot;
    if((c.spot==myCo.spot)&&(round(c.tint)==round(myCo.tint))){
    sovpad=true
    }
    break;
    case 5:
    myCo=mySw[q].color.pattern;
    c=col.pattern;
    if(c.pattern==myCo.pattern){
    sovpad=true
    }
    break;
    case 6:
    myCo=mySw[q].color.gradient;
    c=col.gradient;
    if(c.gradient==myCo.gradient){
    sovpad=true
    }
    break;
    }
    }
    }catch(exc){
    continue}
    }
    if(!sovpad){
    newSw=mySw.add();
    newSw.color=col;
    if(nam){
    newSw.name=nam
    }
    }
    }
    };

    function between(obj){
    if(obj.filled){
    zapArray(obj.fillColor);
    }
    if(obj.stroked){
    zapArray(obj.strokeColor);
    }
    };

    pgItems = activeDocument.pageItems;
    if (pgItems.length>0){
    mySw=activeDocument.swatches;
    for(i=0;i<pgItems.length;i++){
    if(pgItems.typename=='TextArtItem'){
    textR=pgItems.textRange();
    wor=textR.words;
    for(a=0;a<wor.length;a++){
    between(wor[a])
    }
    }else{
    obj=pgItems;
    between(obj)
    }
    }
    for(i=2;i<mySw.length;i++){
    sw=mySw;
    for(q=2;q<mySw.length;q++){
    currSw=mySw[q];
    if(i!=q){
    try{
    if ((sw.name==currSw.name)&&(sw.color.color!=4)){
    currSw.remove();
    q--
    }
    }catch(exc){
    continue
    }
    }
    }
    }
    }else{}
     
  18. Guest

    Да, скрипт полезный, ничего не скажешь.
    Одно пожелание есть. Мне кажется, что формат записи цвета не очень удобочитаемый: C=50 M=0 Y=23 K=65. Много лишних символов. Не лучше было бы так: 50-0-23-65? Воспринимается легче, одним взглядом. В принципе, это, наверное, многие могут подправить в скрипте, но ведь не все. Как думаете?

    Вместо:

    nam='C='+round(col1.cyan)+' '+'M='+round(col1.magenta)+' '+'Y='+round(col1.yellow)+' '+'K='+round(col1.black);

    так:

    nam='round(col1.cyan)+'-'+'round(col1.magenta)+'-'+round(col1.yellow)+'-'+round(col1.black);

    ну, и с RGB аналогично...
    правильно я понимаю? ))
     
  19. Guest

    arhip wrote:

    > nam='round(col1.cyan)+'-'+'round(col1.magenta)+'-'+round(col1.yellow)+'-'+round(col1.black);

    Лишиние кавычки не убрал. :(( Следует читать так:

    nam=round(col1.cyan)+'-'+round(col1.magenta)+'-'+round(col1.yellow)+'-'+round(col1.black);
     
  20. Guest

    иногда красит некорые объекты в черный :((
     

Поделиться этой страницей