ch.kuramo.javie.api
インタフェース IAnimatableDouble

すべてのスーパーインタフェース:
IAnimatableValue<java.lang.Double>

public interface IAnimatableDouble
extends IAnimatableValue<java.lang.Double>

アニメーション可能なDouble型のプロパティを表すインターフェースです。 このインターフェースは 不透明型 であり、メソッド等はありません。


次のコードは、IAnimatableDouble の使用例です。 他のアニメーション可能プロパティも同じように使用します (IAnimatableLayerReference を除く) 。

  @Effect
  public class ChromaKey {
  
        // アニメーション可能なプロパティの宣言
        @Property
        private IAnimatableDouble similarity;
  
        private final IVideoEffectContext context;
  
        @Inject
        public ChromaKey(IVideoEffectContext context) {
                this.context = context;
        }
  
        public IVideoBuffer doVideoEffect() {
                // アニメーション可能なプロパティの現在時刻における値
                double similarity = context.value(this.similarity);
                ...
        }
  }
 

IAnimatableLayerReference の場合は次のように使用します。

  @Effect
  public class GradientWipe {
  
        // アニメーション可能なレイヤー参照プロパティの宣言
        @Property
        private IAnimatableLayerReference gradientLayer;
  
        private final IVideoEffectContext context;
  
        @Inject
        public GradientWipe(IVideoEffectContext context) {
                this.context = context;
        }
  
        public IVideoBuffer doVideoEffect() {
                // アニメーション可能なレイヤー参照プロパティが
                // 現在時刻において参照しているレイヤーの画像を取得する
                IVideoBuffer gradientBuffer = context.getLayerVideoFrame(gradientLayer);
                ...
        }
  }