←Select platform

Delay Property

Summary
Gets the time remaining in the current wait state of an animation playback.
Syntax
C#
Objective-C
C++/CLI
Python
public int Delay { get; } 
@property (nonatomic, assign, readonly) NSUInteger delay; 
public: 
property int Delay { 
   int get(); 
} 
Delay # get  (RasterImageAnimator) 

Property Value

An integer value that indicates the time remaining in the current wait state of an animation playback.

Remarks

The delay is in milliseconds (ms).

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.Drawing; 
 
 
 
public void RasterImageAnimatorClearUpdateRectangleExample(Panel panel) 
{ 
   // Initialize the RasterCodecs object 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Load the animated GIF file 
   string fileName = Path.Combine(LEAD_VARS.ImagesDir, "Eye.gif"); 
   RasterImage animatedImage = codecs.Load(fileName, 0, CodecsLoadByteOrder.Bgr, 1, -1); // load all pages 
 
   // Create the target image, we want it to be in the animated image size 
   RasterImage 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 image 
   animatedImage.CopyPaletteTo(targetImage); 
 
   // Create the RasterImageAnimator object 
   RasterImageAnimator animator = new RasterImageAnimator(targetImage, animatedImage); 
 
   // Animate it 
 
   // Use GDI+ paint engine to support transparent colors 
   RasterPaintProperties 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; 
      int index; 
 
      state = animator.Process(); 
 
      switch (state) 
      { 
         case RasterImageAnimatorState.WaitDelay: 
         case RasterImageAnimatorState.WaitInputDelay: 
            //If the current GIF frame has delay info, force the animation to delay in the animation 
            Stopwatch s = new Stopwatch(); 
            s.Start(); 
            while (s.Elapsed < TimeSpan.FromMilliseconds(animator.Delay)) 
            { 
               Application.DoEvents(); 
            } 
            s.Stop(); 
            animator.CancelWait(); 
            break; 
         case RasterImageAnimatorState.Render: 
            // Continue processing 
            break; 
 
         case RasterImageAnimatorState.WaitInput: 
            // In case the animated image has the "wait for user input" flags, 
            // cancel the waiting 
            animator.CancelWait(); 
            break; 
 
         case RasterImageAnimatorState.PostRender: 
            index = animator.Index; 
            if ((index % 2) != 0) 
               animator.ClearUpdateRectangle(); 
 
            // Get the area in the target image that has changed 
            updateRect = animator.GetUpdateRectangle(true); 
 
            // Paint it 
            destRect = 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"; 
} 
Requirements

Target Platforms

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

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