公共无效追加(RasterImage图像)
公共子追加(_按值传递图像作为RasterImage_)
公共:无效追加(RasterImage ^图像)
图像
一个RasterImage包含1或多个帧被添加到动画。
如果你通过零(任何VisualBasic)animatedImage参数的RasterImageAnimator构造函数,您可以使用附加方法添加帧multi-frame在动画形象。这是非常有用的,如果你想玩一个动画文件被加载使用LoadImage事件。如果你需要参考multi-frame图像动画之后,您可以调用摧毁前处理方法RasterImageAnimator对象。
后你叫摧毁,这RasterImageAnimator对象是无效的,你应该只调用处理方法之后。
的ValidateLines方法让你验证线动画播放引擎将呈现到目标图像
这个例子中扮演一个GIF动画文件作为它加载该文件
使用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作为RasterPaintProperties子RasterImageAppendExample (按值传递面板作为面板)”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.Flags和CodecsLoadImageFlags.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)结束选择退出做循环结束子公共NotInheritable类LEAD_VARS公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”结束类
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。
