Leadtools.SpecialEffects Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.8.31
PaintImage Method
See Also  Example
Leadtools.SpecialEffects Namespace > SpecialEffectsProcessor Class : PaintImage Method




Applies an effect when painting an image to a target device context. The effect, commonly used for slide show transitions, specifies how the image is painted, not how it looks when painting is finished.

Overload List

Overload Description
PaintImage(Graphics,RasterImage,Rectangle,Rectangle,Rectangle,Rectangle,SpecialEffectsType,Int32,Int32,Int32,Int32,Int32,Int32,Boolean,Color,Int32,Color,RasterPaintProperties,SpecialEffectsProgress) Applies an effect when painting an image to a target device context. The effect, commonly used for slide show transitions, specifies how the image is painted, not how it looks when painting is finished.  
PaintImage(IntPtr,RasterImage,Rectangle,Rectangle,Rectangle,Rectangle,SpecialEffectsType,Int32,Int32,Int32,Int32,Int32,Int32,Boolean,Color,Int32,Color,RasterPaintProperties,SpecialEffectsProgress) Applies an effect when painting an image onto a target device context. The effect, commonly used for slide show transitions, specifies how the image is painted, not how it looks when painting is finished.  

Example

This example shows the minimum requirements for using PaintImage method.

Visual Basic Copy Code
Public Sub PaintImage(ByVal g As Graphics, ByVal destRect As Rectangle)
   Dim processor As SpecialEffectsProcessor = New SpecialEffectsProcessor()
   Dim properties As RasterPaintProperties = New RasterPaintProperties()
   properties.RasterOperation = RasterPaintProperties.SourceCopy

   RasterCodecs.Startup()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim rasterImage As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies, Inc\LEADTOOLS 15\Images\Image1.cmp")

   processor.PaintImage(g, rasterImage, Rectangle.Empty, Rectangle.Empty, destRect, Rectangle.Empty, SpecialEffectsType.Wipe4LRTB, 5, 10, 0, 0, 1, 3, False, Color.Empty, 0, Color.Empty, properties, Nothing)
   'MessageBox.Show("Continue to next effect");

   processor.PaintImage(g, rasterImage, Rectangle.Empty, Rectangle.Empty, destRect, Rectangle.Empty, SpecialEffectsType.WipeRectangleIn, 5, 10, 0, 0, 2, 3, False, Color.Empty, 0, Color.Empty, properties, Nothing)
   'MessageBox.Show("Continue to next effect");

   processor.PaintImage(g, rasterImage, Rectangle.Empty, Rectangle.Empty, destRect, Rectangle.Empty, SpecialEffectsType.WipeRectangleOut, 5, 10, 0, 0, 3, 3, False, Color.Empty, 0, Color.Empty, properties, Nothing)
   'MessageBox.Show("Continue to next effect");

   rasterImage.Dispose()
   RasterCodecs.Shutdown()
End Sub
C# Copy Code
public void PaintImage(Graphics g, Rectangle destRect) 

   SpecialEffectsProcessor processor = new SpecialEffectsProcessor(); 
   RasterPaintProperties properties = new RasterPaintProperties(); 
   properties.RasterOperation = RasterPaintProperties.SourceCopy; 
 
   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
   RasterImage rasterImage = codecs.Load(@"C:\Program Files\LEAD Technologies, Inc\LEADTOOLS 15\Images\Image1.cmp"); 
 
   processor.PaintImage(g, 
                        rasterImage, 
                        Rectangle.Empty, 
                        Rectangle.Empty, 
                        destRect, 
                        Rectangle.Empty, 
                        SpecialEffectsType.Wipe4LRTB, /* effect to apply when painting the transition */ 
                        5,          /* graining size */ 
                        10,         /* delay between graining steps */ 
                        0,          /* speed of the wave */ 
                        0,          /* number of cycles or repetitions */ 
                        1,          /* step number for the pattern brush */ 
                        3,          /* maximum steps for the pattern brush */ 
                        false,      /* do not use transparency */ 
                        Color.Empty,/* no transparent color */ 
                        0,          /* wand width */ 
                        Color.Empty,/* no wand color */ 
                        properties, 
                        null); 
   //MessageBox.Show("Continue to next effect"); 
 
   processor.PaintImage(g, rasterImage, 
                        Rectangle.Empty, 
                        Rectangle.Empty, 
                        destRect, 
                        Rectangle.Empty, 
                        SpecialEffectsType.WipeRectangleIn,  /* effect to apply when painting the transition */ 
                        5,          /* graining size */ 
                        10,         /* delay between graining steps */ 
                        0,          /* speed of the wave */ 
                        0,          /* number of cycles or repetitions */ 
                        2,          /* step number for the pattern brush */ 
                        3,          /* maximum steps for the pattern brush */ 
                        false,      /* do not use transparency */ 
                        Color.Empty,/* no transparent color */ 
                        0,          /* wand width */ 
                        Color.Empty,/* no wand color */ 
                        properties, 
                        null); 
   //MessageBox.Show("Continue to next effect"); 
 
   processor.PaintImage(g, rasterImage, 
                        Rectangle.Empty, 
                        Rectangle.Empty, 
                        destRect, 
                        Rectangle.Empty, 
                        SpecialEffectsType.WipeRectangleOut,  /* effect to apply when painting the transition */ 
                        5,          /* graining size */ 
                        10,         /* delay between graining steps */ 
                        0,          /* speed of the wave */ 
                        0,          /* number of cycles or repetitions */ 
                        3,          /* step number for the pattern brush */ 
                        3,          /* maximum steps for the pattern brush */ 
                        false,      /* do not use transparency */ 
                        Color.Empty,/* no transparent color */ 
                        0,          /* wand width */ 
                        Color.Empty,/* no wand color */ 
                        properties, 
                        null); 
   //MessageBox.Show("Continue to next effect"); 
 
   rasterImage.Dispose(); 
   RasterCodecs.Shutdown(); 
}

Remarks

Use the grain and delay parameters to control the speed of the display. The grain parameter controls the size of the painting increment, and delay controls the time between increments.

The wand is a solid color bar that moves during an effect. Small grain sizes produce the best wand effects. Many of the effects listed in Effect Types can have a wand.

Use the pass and maxPass parameters to paint the image in more than one pass. For example, if you want a 3-pass paint, use maxPass of 3 and paint 3 times, once with pass = 1, once with pass = 2, and once with pass = 3.

Multipass painting for the PushClass is disabled.

If the effectType parameter is from the Twirl class, White Turnover class, Turnover class, Replace class, Laser class, Fade Normal class, Fade Black and White class, Fade Color class or Wave Class, the pass and maxPass parameters have no effect.

If the effectType parameter is from the Fade Normal class, Fade Black and White class or Fade Color class, the grain parameter has no effect. However, if the effectType parameter is from the Wave class, the grain parameter contains the wave size.

If the effectType parameter is from the White Turnover class, the Turnover class or the Replace class, the wandWidth and wandColor parameters have no effect. However, if the effectType parameter is from the Fade Color class, the wandColor parameter contains the bitmap color level.

The speed and cycles parameters have effect only if the effectType parameter is from the Wave class.

For general information, refer to Implementing Special Effects .

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also