2017-04-25 11 views
0

テキストの色は変更できますが、フォーマットはどちらかが変更されています。私のテキストの半分は太字で、他の半分はイタリック体です。しかし、結局すべてのテキストがBoldに変わります。フォーマットを失うことなくテキストの色を変更する方法

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

あなたがTextDocumentを設定します。textProp1.setValue(textProp2);それはすべてTextDocumentのプロパティを設定しています。 Adob​​eは、Extendscript(eCh .: 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

関連する問題