←Select platform

CanvasCommand Class

Summary

Combines two images, superimposing one image on another image that is used like a canvas. This command is available in the Imaging Pro and above toolkits.

Syntax
C#
VB
C++
public class CanvasCommand : RasterCommand 
  
Public Class CanvasCommand  
   Inherits RasterCommand 
public ref class CanvasCommand : public RasterCommand   

Remarks
  • CanvasCommand combines two images, superimposing one image on another image that is used like a canvas.
  • As an example, if you use the following figure:

    rafting.jpg

    And you use the following figure as the canvas image:

    ulay2.gif

    And you call CanvasCommand using the following values:

    Parameter Value
    Transparency 90
    Emboss 117
    XOffset 0
    YOffset 0
    Flags CanvasCommandFlags.TileShift
    TilesOffset 0

    The following figure results:

    canvas.jpg
  • In the following figure the rafting image has been combined with the canvas image using the same values, except that the CanvasCommandFlags.TileFit flag is used and so instead of tiling the canvas image has been stretched to fit the dimensions of the rafting image:

    fit.jpg
  • Other commands that allow you to combine images include:

    BumpCommand

    CombineCommand

    CombineWrapCommand

    TextureAlphaBlendCommand

    UnderlayCommand

    For more information on this and other commands that can be used to combine images, Refer to Introduction to Image Processing With LEADTOOLS.

  • This command supports 12-bit and 16-bit grayscale and 48-bit and 64-bit color images. Support for 12-bit and 16-bit grayscale and 48-bit and 64-bit color images is available only in the Document/Medical toolkits.

  • This command does not support signed data images.
  • This command does not support 32-bit grayscale images.

For more information Refer to Applying Artistic Effects.

Example

This procedure run a CanvasCommand of the image using canvasImage.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
 
public void CanvasCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg")); 
   RasterImage canvasImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ULAY1.BMP")); 
 
   // Prepaire the command 
   CanvasCommand canvasCommand = new CanvasCommand(); 
   canvasCommand.CanvasImage = canvasImage; 
   canvasCommand.Emboss = 100; 
   canvasCommand.Transparency = 100; 
   canvasCommand.XOffset = 10; 
   canvasCommand.YOffset = 10; 
   canvasCommand.TileOffset = 20; 
   canvasCommand.Flags = CanvasCommandFlags.TileShift; 
 
   // Apply the command 
   canvasCommand.Run(image); 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.SpecialEffects 
 
Public Sub CanvasCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg")) 
   Dim canvasImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ULAY1.BMP")) 
 
   ' Prepare the command 
   Dim canvasCommand As CanvasCommand = New CanvasCommand 
   canvasCommand.CanvasImage = canvasImage 
   canvasCommand.Emboss = 100 
   canvasCommand.Transparency = 100 
   canvasCommand.XOffset = 10 
   canvasCommand.YOffset = 10 
   canvasCommand.TileOffset = 20 
   canvasCommand.Flags = CanvasCommandFlags.TileShift 
   canvasCommand.Run(leadImage) 
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

See Also

Reference

CanvasCommand Members

Leadtools.ImageProcessing.SpecialEffects Namespace

Applying Artistic Effects

Leadtools.ImageProcessing.Effects.EmbossCommand

ShadowCommand Class

BumpMapCommand Class

Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand

ColoredPencilCommand Class

ColoredPencilExtendedCommand Class

Leadtools.ImageProcessing.Color.ColorReplaceCommand

Leadtools.ImageProcessing.Color.ColorThresholdCommand

Leadtools.ImageProcessing.Effects.CombineCommand

Leadtools.ImageProcessing.CombineWarpCommand

Leadtools.ImageProcessing.Core.DiscreteFourierTransformCommand

Leadtools.ImageProcessing.Effects.DirectionEdgeStatisticalCommand

Leadtools.ImageProcessing.Core.FastFourierTransformCommand

Leadtools.ImageProcessing.Core.FrequencyFilterCommand

Leadtools.ImageProcessing.Core.FrequencyFilterMaskCommand

Leadtools.ImageProcessing.Core.FourierTransformDisplayCommand

Leadtools.ImageProcessing.Effects.StatisticsInformationCommand

Leadtools.ImageProcessing.Effects.FeretsDiameterCommand

Leadtools.ImageProcessing.Effects.ObjectInformationCommand

Leadtools.ImageProcessing.Effects.RegionContourPointsCommand

Leadtools.ImageProcessing.Effects.EffectsUtilities.GetRegionPerimeterLength(Leadtools.RasterImage,Leadtools.RasterRegionXForm)

Leadtools.ImageProcessing.Color.MathematicalFunctionCommand

Leadtools.ImageProcessing.Color.SegmentCommand

Leadtools.ImageProcessing.Core.SubtractBackgroundCommand

Leadtools.ImageProcessing.Effects.TextureAlphaBlendCommand

Leadtools.ImageProcessing.Effects.UserFilterCommand

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

Leadtools.ImageProcessing.SpecialEffects Assembly