←Select platform

State Property

Summary
Gets the current state of the animation playback engine.
Syntax
C#
Objective-C
C++/CLI
Python
public RasterImageAnimatorState State { get; } 
@property (nonatomic, assign, readonly) LTRasterImageAnimatorState state; 
public: 
property RasterImageAnimatorState State { 
   RasterImageAnimatorState get(); 
} 
State # get  (RasterImageAnimator) 

Property Value

A RasterImageAnimatorState enumeration member that indicates current state of the animation playback engine.

Remarks

Refer to RasterImageAnimatorState for description of the different states.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.Drawing; 
 
 
RasterImageAnimator _animator; 
RasterImage _targetImage; 
Graphics _graphics; 
LeadRect _destRect; 
RasterPaintProperties _paintProperties; 
 
 
public void RasterImageAppendExample(Panel panel) 
{ 
	// Initialize the RasterCodecs object 
	RasterCodecs codecs = new RasterCodecs(); 
 
	// An animated GIF file 
	string fileName = Path.Combine(LEAD_VARS.ImagesDir, "Eye.gif"); 
 
	// load the first frame, so we have the palette and a target image for playback 
	_targetImage = codecs.Load(fileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1); 
 
	// Create the animator 
	_animator = new RasterImageAnimator(_targetImage, null); 
 
	// Setup our class members used in the event handler 
	_graphics = panel.CreateGraphics(); 
	_destRect = LeadRect.FromLTRB(panel.ClientRectangle.Left, panel.ClientRectangle.Top, panel.ClientRectangle.Right, panel.ClientRectangle.Bottom); 
	_paintProperties = RasterPaintProperties.Default; 
	_paintProperties.PaintEngine = RasterPaintEngine.GdiPlus; 
 
	// Hook to the LoadImage event and load the file 
	codecs.LoadImage += new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage); 
	codecs.Load(fileName); 
	codecs.LoadImage -= new EventHandler<CodecsLoadImageEventArgs>(Codecs_LoadImage); 
 
	_graphics.Dispose(); 
	_animator.Dispose(); 
	_animator = null; 
 
	_targetImage.Dispose(); 
 
	codecs.Dispose(); 
} 
 
void Codecs_LoadImage(object sender, CodecsLoadImageEventArgs e) 
{ 
	if ((e.Flags & CodecsLoadImageFlags.FirstRow) == CodecsLoadImageFlags.FirstRow) 
		_animator.Append(e.Image); 
 
	_animator.ValidateLines(e.Row, e.Lines); 
 
	RasterImageAnimatorState state = _animator.State; 
 
	while (state != RasterImageAnimatorState.End) 
	{ 
		state = _animator.Process(); 
 
		LeadRect updateRect; 
 
		switch (state) 
		{ 
			case RasterImageAnimatorState.WaitInput: 
				_animator.CancelWait(); 
				break; 
 
			case RasterImageAnimatorState.PostClear: 
			case RasterImageAnimatorState.PostRender: 
				updateRect = _animator.GetUpdateRectangle(true); 
				RasterImagePainter.Paint(_targetImage, _graphics, LeadRect.Empty, updateRect, _destRect, LeadRect.Empty, _paintProperties); 
				break; 
		} 
 
		break; 
	} 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.5.16
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.