2017-04-25 105 views
0

我可以更改文本颜色,但格式也正在改变!我的一半文本是粗体,另一半是斜体。但最后所有的文字都变成了粗体。如何更改文本的颜色而不会丢失格式

var proj = app.project; 
var theComposition = app.project.activeItem; 
var theTextLayer = theComposition.layers[1]; 

var textProp1 = theTextLayer.property("Text").property("Source Text"); 
var textProp2 = theTextLayer.property("Source Text").value; 
textProp2.fillColor = [1,1,1]; 
textProp1.setValue(textProp2); 

回答

1

当您设置TextDocumenttextProp1.setValue(textProp2);它设置的所有TextDocument属性。 Adob​​e不支持通过Extendscript(e.x .: fillColor,fontSize,fontFamily等)的每个文本图层的多种格式,因此该图层会获得第一个字母的属性,在您的案例中为粗体。

我可以建议你将填充效果添加到图层并更改效果中的值。 下面是该代码:

var fillEffect = theTextLayer.property('ADBE Effect Parade').addProperty('ADBE Fill'); 
fillEffect.property('Color').setValue([1,1,1]); 
+0

Thx Ziki。我不喜欢这种接近,但...我看到我没有其他的方式... Thnx! ExtendScript是如此没有生产力。:( –

+0

我也讨厌这个,但是据我在Adobe论坛中的帖子了解,他们不会改进它,因为Extenedscript社区不够大,无法做出一些改进。 – Ziki