Leadtools.ImageProcessing.Effects Namespace > CombineCommand Class : Flags Property |
public CombineCommandFlags Flags {get; set;}
'Declaration Public Property Flags As CombineCommandFlags
'Usage Dim instance As CombineCommand Dim value As CombineCommandFlags instance.Flags = value value = instance.Flags
public CombineCommandFlags Flags {get; set;}
get_Flags();
set_Flags(value);
public: property CombineCommandFlags Flags { CombineCommandFlags get(); void set ( CombineCommandFlags value); }
If the user didn't set any one of these flags:
Public Sub CombineCommandMasterChannelExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")) ' Prepare the command Dim command As CombineCommand = New CombineCommand ' the source image that will be combined with the desintation image that is sent through Command.Run(). command.SourceImage = leadImage.Clone() ' The rectangle that represents the affected area of the destination image. command.DestinationRectangle = New LeadRect(leadImage.Width \ 8, leadImage.Height \ 8, leadImage.Width, leadImage.Height) command.SourcePoint = New LeadPoint(0, 0) ' The combine will Xor the source and destination image, but set the destination values to 1 before doing the XOR. the effect will be applied on all 3 channels command.Flags = CombineCommandFlags.OperationXor 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
public void CombineMasterChannelExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); // Prepare the command RasterImage tempImage = image.Clone(); LeadRect rect = new LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height); CombineCommand command = new CombineCommand(); // the source image that will be combined with the desintation image that is sent through Command.Run(). command.SourceImage = tempImage; // the rectangle that represents the affected area of the destination image. command.DestinationRectangle = rect; // The combine will Xor the source and destination image, but set the destination values to 1 before doing the XOR. command.Flags = CombineCommandFlags.OperationXor | CombineCommandFlags.Destination1; 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"; }
[TestMethod] public async Task CombineMasterChannelExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; // Load the image string srcFileName = @"Assets\Image1.cmp"; StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); // Prepare the command RasterImage tempImage = image.Clone(); LeadRect rect = LeadRectHelper.Create(image.Width / 8, image.Height / 8, image.Width, image.Height); CombineCommand command = new CombineCommand(); // the source image that will be combined with the desintation image that is sent through Command.Run(). command.SourceImage = tempImage; // the rectangle that represents the affected area of the destination image. command.DestinationRectangle = rect; // The combine will Xor the source and destination image, but set the destination values to 1 before doing the XOR. command.Flags = CombineCommandFlags.OperationXor | CombineCommandFlags.Destination1; command.Run(image); //Save as BMP string destFileName = @"result.bmp"; StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24); }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2