public RasterImageAnimatorState Process() - (LTRasterImageAnimatorState)process:(NSError **)error; public:RasterImageAnimatorState Process();
def Process(self):
A RasterImageAnimatorState enumeration member that describes the new state of the animation playback engine
You should call this method in a loop to continually process the playback.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.Drawing;public void RasterImageAnimatorExample(Panel panel){// Initialize the RasterCodecs objectRasterCodecs codecs = new RasterCodecs();// When loading the animated GIF file, we have two means to load all pages into memory// Option 1: Set the Load All Pages to true, then specify just the filenamestring fileName = Path.Combine(LEAD_VARS.ImagesDir, "Eye.gif");codecs.Options.Load.AllPages = true;RasterImage animatedImage = codecs.Load(fileName);// Option 2: Specify which pages to load, -1 means all pages// Load the animated GIF file//RasterImage animatedImage = codecs.Load(filename, 0, CodecsLoadByteOrder.Bgr, 1, -1)// Create the target image, we want it to be in the animated image sizeRasterImage targetImage = new RasterImage(RasterMemoryFlags.Conventional,animatedImage.AnimationGlobalSize.Width,animatedImage.AnimationGlobalSize.Height,animatedImage.BitsPerPixel,animatedImage.Order,animatedImage.ViewPerspective,null,IntPtr.Zero,0);// Copy the palette from the animated image to this newly created imageanimatedImage.CopyPaletteTo(targetImage);// Create the RasterImageAnimator objectRasterImageAnimator animator = new RasterImageAnimator(targetImage, animatedImage);// Animate it// Use GDI+ paint engine to support transparent colorsRasterPaintProperties props = RasterPaintProperties.Default;props.PaintEngine = RasterPaintEngine.GdiPlus;Graphics g = panel.CreateGraphics();RasterImageAnimatorState state;do{LeadRect srcRect = new LeadRect(0, 0, targetImage.ImageWidth, targetImage.ImageHeight);LeadRect updateRect;LeadRect destRect;state = animator.Process();switch (state){case RasterImageAnimatorState.WaitDelay:case RasterImageAnimatorState.WaitInputDelay:case RasterImageAnimatorState.Render:// Continue processingbreak;case RasterImageAnimatorState.WaitInput:// In case the animated image has the "wait for user input" flags,// cancel the waitinganimator.CancelWait();break;case RasterImageAnimatorState.PostClear:case RasterImageAnimatorState.PostRender:// Get the area in the target image that has changedupdateRect = animator.GetUpdateRectangle(true);// Paint itdestRect = new LeadRect(0, 0, targetImage.ImageWidth, targetImage.ImageHeight);RasterImagePainter.Paint(targetImage, g, srcRect, updateRect, destRect, destRect, props);break;default:break;}}while (state != RasterImageAnimatorState.End);g.Dispose();animator.Dispose();targetImage.Dispose();animatedImage.Dispose();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
