←Select platform

RevEffectCommand Class

Summary

Adds a pseudo-3D wave effect to the image by drawing lines across the image, basing the line's height at each point on its brightness at that point. This command is available in the Imaging Pro and above toolkits.

Remarks
  • This command adds a pseudo-3D wave effect to the image . It is similar to the Rutt-Etra Video Synthesizer. The Rutt-Etra video synthesizer was a processor that modulated the deflection lines of a television image so that they appeared to adopt the contours of objects. It was invented by Steve Rutt and Bill Etra in the 1970s.
  • With this command, you set the maximum height to be used for the pixels with the maximum brightness value. The other pixel heights are calculated by linear interpolation. Each line is 1 pixel in width. Control the spacing between the lines that are drawn across the image with the LineSpace parameter.
  • You can get a more stable wave by performing the following:

  • Apply any type of blur like Leadtools.ImageProcessing.Effects.GaussianCommand blur with a large radius value.
  • Apply the RevEffectCommand and pass a small value for the maximum height.
  • This command does not support 32-bit grayscale images.
  • 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.

For more information, refer to Applying Artistic Effects.

Example

Run the RevEffectCommand on an image.

C#
VB
WinRT C#
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.SpecialEffects 
 
<TestMethod()> _ 
Public Sub RevEffectCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")) 
 
   ' Prepare the command 
   Dim command As RevEffectCommand = New RevEffectCommand 
   command.LineSpace = 3 
   command.MaximumHeight = 35 
   'Apply Rev effect on the image. 
   command.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 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
 
public void RevEffectCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")); 
 
   // Prepare the command 
   RevEffectCommand command = new RevEffectCommand(); 
   command.LineSpace = 3; 
   command.MaximumHeight = 35; 
   //Apply Rev effect on the image. 
   command.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"; 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
 
public async Task RevEffectCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   string srcFileName = @"Assets\Image1.cmp"; 
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 
 
   // Prepare the command 
   RevEffectCommand command = new RevEffectCommand(); 
   command.LineSpace = 3; 
   command.MaximumHeight = 35; 
   //Apply Rev effect on the image. 
   command.Run(image); 
 
   string destFileName = @"result.bmp"; 
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); 
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24); 
} 

Requirements

Target Platforms

See Also

Reference

RevEffectCommand Members

Leadtools.ImageProcessing.SpecialEffects Namespace

Applying Artistic Effects

Leadtools.ImageProcessing.Effects.EmbossCommand

ShadowCommand Class

Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand

Leadtools.ImageProcessing.Color.ColorReplaceCommand

Leadtools.ImageProcessing.Color.ColorThresholdCommand

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.UserFilterCommand

BricksTextureCommand Class

CanvasCommand Class

CloudsCommand Class

ColoredBallsCommand Class

DiffuseGlowCommand Class

Leadtools.ImageProcessing.Effects.DisplacementCommand

FragmentCommand Class

Leadtools.ImageProcessing.Core.HalfTonePatternCommand

Leadtools.ImageProcessing.Effects.MaskConvolutionCommand

MosaicTilesCommand Class

Leadtools.ImageProcessing.Effects.OffsetCommand

PerspectiveCommand Class

PlasmaCommand Class

PointillistCommand Class

RomanMosaicCommand Class

VignnetCommand Class

ZigZagCommand Class

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.ImageProcessing.SpecialEffects Assembly
Click or drag to resize