2015-01-13 13 views
2

我想在PSD中使用Photoshop脚本放置另一个文本。问题在于,如果第一个文本适合一行或者不行,可能并不明显,因为我必须在第一个文本之后的第N个像素之后放置第二个文本。如果标题中会有2行,我就搞砸了。photoshop脚本放置一个接一个的文字

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

这里是我的代码:

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; 
} 

谢谢!

+0

我对photoshop脚本一无所知,但如果我这样做,我会尝试的第一个想法是不用'txtRef.height = h;'手动设置高度,并查看它是否在内容被自动设置后设置高度添加。也许值得尝试一下? – musefan

+0

是的,我试过了。但不幸的是,如果您没有设置段落的高度,它将视为0,并且不显示任何文本。感谢您的提示,但! – Denis

回答

0

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

相关问题