Photoshopi scripti või actioni abi?

  • PeZ 6 a

    Heihoo, kas keegi oskaks juhatada mingi siukse jupi või nipi peale, mis aitaks mul teha järgnevat -

    1) teha ettemääratud suuruses, PS dokument, kus oleks ettemääratud järjekorras, suuruses ja effektiga tähed
    2) lisada pärast igat tähte 1px joon, vastavalt kerningule

    Jube nüri töö käsitsi teha, aga kohe ei suuda ise välja mõelda ega näidisskripti leida. Abistajale pudel õlunaadi.

    06. juuni 2013 - 14:49:10 · Otselink

  • PeZ 6 a

    Mõtlen siin avalikult enda jaoks ja üritan lugeda Photoshopi skriptimise dokki ( http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop_cs5_scripting_guide.pdf )

    Pm järjestus peaks olema siis selline -

    1) küsi fondi suurust - (var1), küsi potensiaalsete ääreffektide suurust (stroke, dropshadow vms) (var2), küsi fonti

    2) genereeri fail mis on kõrgusega var1+2 ja laiusega var1+2 x tähtede arv+1px
    3) hakka joonistama tähti positsioonidesse var2+var1+var2+1px
    4) joonista 1px objekt positsooni var2+var1+var2+1px

    5) profit?

    suht straightforward vist? peaks nüüd üles otsima need muutujad siis sealt :)

    06. juuni 2013 - 15:32:04 · Otselink

  • tajo 6 a

    trikk on vist see, et photoshop ei suuda (korralikult) ära arvata, kus on tähe äär ilma shape outlineta? ehk siis see step ka juurde?

    06. juuni 2013 - 15:42:03 · Otselink

  • idee oleks siis et iga t2ht on eraldi layeril ja kogu sodi elaks oma setis.
    Saab ka eksisteerivat textlayerit lammutada kui vaja

    var doc=app.documents.add(width,height,72/*dpi*/,'mydoc'),
    set=app.activeDocument.layerSets.add(),
    text='minu text'.split(''),
    char,
    layer,
    textitem,
    margin=10,
    endx

    for(var nr in text){
    char=text[nr]
    layer=doc.artLayers.add()
    layer.name = "char-"+char
    layer.kind = LayerKind.TEXT
    layer.textItem.contents=char
    layer.textItem.justification=Justification.MIDDLE //CENTER
    layer.applyStyle("LayerStyleName")
    layer.position = Array(layer.position[0]+margin,layer.position[1])
    set.move(layer,ElementPlacement.PLACEAFTER)

    endx=layer.bounds[2]

    /*
    tee uus artlayer ja oma 1px joon
    pane layer positsioonile endx+margin
    ja topi seti
    /**/

    }
    //nyyd oleks 6ige hetk kogu seti positsioon paika panna vastavalt seti boundsile ja posile ja documendi suurusele

    ei luba et asi 6ige on aga loodan et natuke aitab.
    C# perfomib paremini kui javaScript aga tundub et nad on ps5 ja ps6 jaoks C# 2ra droppinud.

    18. juuni 2013 - 13:46:43 · Otselink