そのため、ExtendScript の UnitValue オブジェクトのコンポーネントの明確な内訳を、私の人生では見つけることができません。私が見つけたすべての情報源は Adobe と関係があり、それについて説明していませんでした。私は本当にそれについての完全なリファレンスを持ちたいと思っていますが、誰もそれを見つけることができない場合は、それに関する少なくともいくつかの質問に答える必要があります.
まず、そのコンストラクターは何ですか? どちらが理にかなっているのかはわかりましたが、次のことも
わかりUnitValue(10,'px')
UnitValue(20,20)
ました
2番目に、ある単位から別の単位に変換するにはどうすればよいですか
第三に、その値と単位をどのように見つけることができますか?
最後に、私uv.value
のタグが示すように、これはもちろん Adobe 用です。ExtendScript を使用する他のプログラムを見たり聞いたりしたことがないからです。
3 に答える
UnitValueについては、Adobe JavaScript ツール ガイドに記載されています。
特に、 を使用してオブジェクトを作成しますv = new UnitValue(number, unit)
。ここで、は(インチ)、(ミリメートル)、(ポイント)、(ピクセル) などunit
の文字列値です。in
mm
pt
px
UnitValue を実際の数値に変換するには、as
メソッドを使用します。たとえば、センチメートルv.as("cm")
に変換します。v
<このサイト>はドキュメンテーションとしては少し役に立ちましたが、Adobe の機能はそれとは少し異なると思います。
UnitValue の主なコンストラクターは次のとおりです。
UnitValue(numericalvalue,unit)
また、1 つの文字列を受け入れる代替方法も見ました。
UnitValue("42 in")
変換のために、UnitValue には、as
変換先の単位を (文字列として) 受け取り、その単位で測定値を返す便利なメソッドが付属しています。
UnitValue(5,'ft').as('in') === 60
(注、私が見つけた参照によると、as
メソッドは指定された単位に変換された後に UnitValue インスタンスを返す必要があると思います。ただし、アドビの実装は代わりに値を返すだけのようです。したがって、型等価演算子を使用しています上記は Adobe の方法を示しています) 数値と測定単位を取得するために、次の 2 つのプロパティが存在します。
UnitValue.value // number: the numerical value
UnitValue.type // string: the unit of measurement
これが私の調査で見つけたすべてです。誰かがより良い答えを持っている場合は、投稿してください。私はそれを受け入れるかもしれません.