photoshop脚本一个接一个地放置文本

时间:2015-01-13 15:25:33

标签: javascript paragraph photoshop-script

我正在尝试使用photoshop脚本在PSD中逐个放置一个文本。问题是,如果第一个文本是否适合一行,可能并不明显,因为我必须在第一个文本之后的N个像素之后放置第二个文本。如果标题中有2行,我就搞砸了。

是否有机会在段落中设置动态段落高度或计数行?或者我该如何解决这个问题?

这是我的代码:

function createTexts() {
    createText(250, 100, 110, titles[count_psd-1], 1);
    createText(200, 50, 250, descriptions[count_psd-1], 0);

    saveImage();
}

function createText(h, fontSize, hPosition, content, light) {
    var doc = app.activeDocument;
    var TextLayer = doc.artLayers.add();
    TextLayer.kind = LayerKind.TEXT;
    var txtRef = TextLayer.textItem;
    txtRef.kind = TextType.PARAGRAPHTEXT;
    txtRef.antiAliasMethod = AntiAlias.SMOOTH;
    txtRef.width = 1050;
    txtRef.height = h;
    if (lang==0) {
        if (light==1){
            txtRef.font = "HelveticaNeue-UltraLight";
        } else {
            txtRef.font = "HelveticaNeue";
        }
    } else {
        txtRef.font = "MicrosoftSansSerif";
    }
    txtRef.contents = content;
    txtRef.size = fontSize;
    var textPosition = [75,hPosition];
    txtRef.position = textPosition;
}

谢谢!

1 个答案:

答案 0 :(得分:0)

我之前遇到过这种情况,我能做的最好的事情就是将我的段落设置得比显示文本和栅格化文本图层副本所需要的大得多。然后我计算了栅格化图层所需的高度以应用回文本图层。最后我删除了栅格化副本。一个痛苦的解决方法,但确实有效。