码迷,mamicode.com
首页 > 其他好文 > 详细

AESDK从流中获得变换信息

时间:2015-01-02 17:26:33      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

AE中Transform下的信息位于流中,和别的软件不太一样。

如果是特效的参数信息要从EffectSuites中获取,默认的参数信息基本上StreamSuites都可以得到

需要注意,取得流之后也要释放流,否则就会出现下面的情况

技术分享

 

 

首先,流信息位于层管理器中,需要先取得一个图层句柄,再通过这个图层得到它的流信息

这里就用当前激活状态的图层来测试,先取得当前激活状态的图层

suites.LayerSuite5()->AEGP_GetActiveLayer(....)

 

取得流的句柄

AEGP_StreamRefH streamRefH = NULL;
suites.StreamSuite2()->AEGP_GetNewLayerStream(0, layerH, stream, &streamRefH);

 

取得具体值,还需要一个时间参数。这里取得层的当前时间

A_Time result;
suites.LayerSuite5()->AEGP_GetLayerCurrentTime(layerH, AEGP_LTimeMode_CompTime, &result);

 

取得当前时间下,位置信息的值

AEGP_StreamValue result;
suites.StreamSuite2()->AEGP_GetNewStreamValue(0, position_streamH, AEGP_LTimeMode_CompTime, &time, false, &result);

 

如果2D模式就用two_d,3D模式就用three_d得到位置值

posValue.val.two_d.x
posValue.val.two_d.y

 

最后释放流

suites.StreamSuite2()->AEGP_DisposeStreamValue(...);

 

AESDK从流中获得变换信息

标签:

原文地址:http://www.cnblogs.com/hont/p/4198534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!