PaintImageEffect(IntPtr,RasterImage,Rectangle,Rectangle,Rectangle,Rectangle,RasterPaintProperties,SpecialEffectsType,SpecialEffectsProgress) Method

Summary
Applies an effect when painting a bitmap to a screen. The effect, commonly used for slide show transitions, specifies how the image is painted, not how it looks when painting is finished.
Syntax
C#
VB
C++
  
Public Overloads Sub PaintImageEffect( _ 
   ByVal hdc As IntPtr, _ 
   ByVal image As Leadtools.RasterImage, _ 
   ByVal src As Rectangle, _ 
   ByVal srcClip As Rectangle, _ 
   ByVal dest As Rectangle, _ 
   ByVal destClip As Rectangle, _ 
   ByVal paintProperties As Leadtools.Drawing.RasterPaintProperties, _ 
   ByVal effectType As SpecialEffectsType, _ 
   ByVal progressCallback As SpecialEffectsProgress _ 
)  
public void PaintImageEffect( 
   IntPtr hdc, 
   RasterImage image, 
   Rectangle src, 
   Rectangle srcClip, 
   Rectangle dest, 
   Rectangle destClip, 
   RasterPaintProperties paintProperties, 
   SpecialEffectsType effectType, 
   SpecialEffectsProgress progressCallback 
) 
public: 
void PaintImageEffect(  
   IntPtr hdc, 
   Leadtools.RasterImage^ image, 
   Rectangle src, 
   Rectangle srcClip, 
   Rectangle dest, 
   Rectangle destClip, 
   Leadtools.Drawing.RasterPaintProperties paintProperties, 
   SpecialEffectsType effectType, 
   SpecialEffectsProgress^ progressCallback 
)  

Parameters

hdc
Handle to the target device context.

image
Pointer to an object that references the image to paint.

src
Rectangle that specifies the part of the image to use as the display source.

srcClip
Rectangle that specifies the portion of the display source to paint. Generally, this is used for updating the display when part of the source image has changed.

dest
Rectangle that determines how the source rectangle is scaled and how the image is positioned in the device context. The coordinates for the Rectangle object are relative to the device context. There is no default for this parameter. You must specify the Rectangle object.

destClip
Rectangle to be used as the display destination clipping rectangle that specifies the portion of the display rectangle to paint. Generally, this is used for updating changes in the display surface, such as when a user moves another window, uncovering a part of the image that had been covered up. The coordinates in the Rectangle object are relative to the device context. You can pass null to use the default, which matches the device context.

paintProperties
Options for the display.

effectType
Effect to apply when painting. For valid values, refer to SpecialEffectsType.

progressCallback
Callback method that will be called when the paint image effect is started to determine the status for the paint of the image effect.

Remarks

If the screen has fewer colors than the image, this method dithers the output to that display surface without affecting the actual image data.

PaintImageEffect paints an image faster if its view perspective is bottom left. LEAD CMP images have a bottom-left view perspective, but some other formats have a top-left perspective. To get uniformly fast paints on all images, you can set the perspective after you load them. (You do not have to change them back before saving them in the original format, because the save methods set the orientation for the specified format.)

Multipass painting for the PushClass is disabled.

Example

This example shows the minimum requirements for using PaintImageEffect(Graphics,RasterImage,Rectangle,Rectangle,Rectangle,Rectangle,RasterPaintProperties,SpecialEffectsType,SpecialEffectsProgress) method to paint an image .

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.SpecialEffects; 
using Leadtools.Drawing; 
 
public void PaintImageEffect(Graphics g, Rectangle destRect) 
{ 
   SpecialEffectsProcessor processor = new SpecialEffectsProcessor(); 
 
   RasterPaintProperties properties = new RasterPaintProperties(); 
   properties.RasterOperation = RasterPaintProperties.SourceCopy; 
 
   RasterCodecs codecs = new RasterCodecs(); 
   RasterImage rasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")); 
 
   processor.PaintImageEffect(g, rasterImage, 
                              Rectangle.Empty, /* Default source rectangle */ 
                              Rectangle.Empty, /* Default source clip area */ 
                              destRect, /* Destination rectangle */ 
                              Rectangle.Empty, /* Default destination clipping rectangle */ 
                              properties, 
                              SpecialEffectsType.SpiralIn, /* Spiral effect */ 
                              null); 
 
   rasterImage.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.SpecialEffects 
Imports Leadtools.Drawing 
 
Public Sub PaintImageEffect(ByVal g As Graphics, ByVal destRect As Rectangle) 
   Dim processor As SpecialEffectsProcessor = New SpecialEffectsProcessor() 
 
   Dim properties As RasterPaintProperties = New RasterPaintProperties() 
   properties.RasterOperation = RasterPaintProperties.SourceCopy 
 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   Dim rasterImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")) 
 
   processor.PaintImageEffect(g, rasterImage, Rectangle.Empty, Rectangle.Empty, destRect, Rectangle.Empty, properties, SpecialEffectsType.SpiralIn, Nothing) 
 
   rasterImage.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images" 
End Class 
Requirements

Target Platforms

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

Leadtools.SpecialEffects Assembly

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