←选择平台

添加方法

总结
附加一个图像在动画播放动画multi-frame形象。
语法
c#
VB
c++
公共无效追加(RasterImage图像)
公共追加(_按值传递图像作为RasterImage_)
公共:无效追加(RasterImage ^图像)

参数

图像
一个RasterImage包含1或多个帧被添加到动画。

讲话

如果你通过(任何VisualBasic)animatedImage参数的RasterImageAnimator构造函数,您可以使用附加方法添加帧multi-frame在动画形象。这是非常有用的,如果你想玩一个动画文件被加载使用LoadImage事件。如果你需要参考multi-frame图像动画之后,您可以调用摧毁前处理方法RasterImageAnimator对象。

后你叫摧毁,这RasterImageAnimator对象是无效的,你应该只调用处理方法之后。

ValidateLines方法让你验证线动画播放引擎将呈现到目标图像

例子

这个例子中扮演一个GIF动画文件作为它加载该文件

c#
VB
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.ImageProcessing;使用Leadtools.Drawing;RasterImageAnimator _animator;RasterImage _targetImage;图形_graphics;LeadRect _destRect;RasterPaintProperties _paintProperties;(忽略())公共无效RasterImageAppendExample(面板面板){/ /初始化RasterCodecs对象RasterCodecs编解码器=RasterCodecs ();/ /一个GIF动画文件字符串文件名= Path.Combine (LEAD_VARS.ImagesDir,“Eye.gif”);/ /加载第一帧,所以我们有面板和一个目标图像回放_targetImage =编解码器。负载(文件名,0,CodecsLoadByteOrder。BgrOrGray 1 1);/ /创建动画_animator =RasterImageAnimator (_targetImage);/ /设置事件处理程序中使用我们的类成员_graphics = panel.CreateGraphics ();_destRect = LeadRect.FromLTRB (panel.ClientRectangle。离开了,panel.ClientRectangle。前,panel.ClientRectangle。对,panel.ClientRectangle.Bottom);_paintProperties = RasterPaintProperties.Default;_paintProperties。PaintEngine = RasterPaintEngine.GdiPlus;/ /钩LoadImage事件和加载该文件编解码器。LoadImage + =EventHandler < CodecsLoadImageEventArgs > (codecs_LoadImage);codecs.Load(文件名);编解码器。LoadImage - =EventHandler < CodecsLoadImageEventArgs > (codecs_LoadImage);_graphics.Dispose ();_animator.Dispose ();_animator =;_targetImage.Dispose ();codecs.Dispose ();}无效codecs_LoadImage (对象发送方,CodecsLoadImageEventArgs e){如果((e.Flags& CodecsLoadImageFlags.FirstRow) == CodecsLoadImageFlags.FirstRow)_animator.Append (e.Image);_animator.ValidateLines (e。行,e.Lines);= _animator.State RasterImageAnimatorState状态;(状态! = RasterImageAnimatorState.End){状态= _animator.Process ();LeadRect updateRect;开关(状态){情况下RasterImageAnimatorState.WaitInput:_animator.CancelWait ();打破;情况下RasterImageAnimatorState.PostClear:情况下RasterImageAnimatorState.PostRender:updateRect = _animator.GetUpdateRectangle (真正的);RasterImagePainter。油漆(_targetImage _graphics LeadRect。空,updateRect _destRect LeadRect。空,_paintProperties);打破;}打破;}}静态LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;}
进口Leadtools进口Leadtools.Codecs进口Leadtools.ImageProcessing进口Leadtools.Drawing私人_animator作为RasterImageAnimator私人_targetImage作为RasterImage私人_graphics作为图形私人_destRect作为LeadRect私人_paintProperties作为RasterPaintPropertiesRasterImageAppendExample (按值传递面板作为面板)”RasterCodecs对象初始化昏暗的编解码器作为RasterCodecs ()“一个GIF动画文件昏暗的文件名作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Eye.gif”)加载第一帧,所以我们有面板和目标图像回放_targetImage =编解码器。负载(文件名,0,CodecsLoadByteOrder。BgrOrGray, 1, 1)“创建动画_animator =RasterImageAnimator (_targetImage没有什么)设置我们的事件处理程序中使用的类成员_graphics = panel.CreateGraphics ()_destRect = LeadRect.FromLTRB (panel.ClientRectangle。离开了,panel.ClientRectangle。前,panel.ClientRectangle。对,panel.ClientRectangle.Bottom)_paintProperties = RasterPaintProperties。默认的_paintProperties。PaintEngine = RasterPaintEngine.GdiPlus“钩LoadImage事件和加载该文件AddHandlercodecs.LoadImage,AddressOfcodecs_LoadImagecodecs.Load(文件名)RemoveHandlercodecs.LoadImage,AddressOfcodecs_LoadImage_graphics.Dispose ()_animator.Dispose ()_animator =没有什么_targetImage.Dispose ()codecs.Dispose ()结束codecs_LoadImage (按值传递发送方作为对象,按值传递e作为CodecsLoadImageEventArgs)如果((e.FlagsCodecsLoadImageFlags.FirstRow) = CodecsLoadImageFlags.FirstRow)然后_animator.Append (e.Image)结束如果_animator.ValidateLines (e。行,e.Lines)昏暗的状态作为RasterImageAnimatorState = _animator.State(< > RasterImageAnimatorState状态。结束)状态= _animator.Process ()昏暗的updateRect作为LeadRect选择情况下(状态)情况下RasterImageAnimatorState.WaitInput_animator.CancelWait ()情况下RasterImageAnimatorState.PostClear,RasterImageAnimatorState.PostRenderupdateRect = _animator.GetUpdateRectangle (真正的)RasterImagePainter。油漆(_targetImage _graphics LeadRect。空,updateRect _destRect LeadRect。空,_paintProperties)结束选择退出循环结束公共NotInheritableLEAD_VARS公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”结束
需求

目标平台

Leadtools组装
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。