←Select platform

TextureAlphaBlendCommand Class

Summary

Combines image data from two images with feathering and constant opacity; by combining the two images with a variable opacity that depends on a fade mask then combine the result with the destination image with a constant opacity.

Remarks
  • To combine two images with a fixed opacity, use the AlphaBlendCommand.
  • To combine two images with a feather, use the FeatherAlphaBlendCommand.
  • The TextureAlphaBlendCommand does the two operations; first it combines the two images with feathering using the fade mask image, then combines the result with the destination image with a fixed opacity.
  • To create an image that contains a fade mask, use FadedMaskCommand.
  • This command can also underlay the fade mask image with the underlay image before using it in the feather combine operation.
  • This command also combines the fade mask image with the underlay image so that it appears to be an underlying texture for the fade mask image.
  • The following is an example for the resulted image using this commands with the following characteristics:

    • The source image is a red image.
    • The destination image is a white image.
    • The opacity is set to 255.
    • The right image is the result of applying the method without texture image.
    • The left image is the result of applying the method with texture image.
  • This command supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 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 Introduction to Image Processing With LEADTOOLS. For more information, refer to Applying Artistic Effects.

Example

Run the TextureAlphaBlendCommand on an image.

C#
VB
WinRT C#
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Effects 
 
    
Public Sub TextureAlphaBlendCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")) 
 
   ' Prepare the command 
   Try 
      Dim SrcImage As RasterImage 
      Dim MaskImage As RasterImage 
      Dim underlayImage As RasterImage 
      SrcImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "image2.cmp"), 24, CodecsLoadByteOrder.Bgr, 1, 1) 
      'Load the fade mask image. 
      MaskImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\image3.cmp"), 24, CodecsLoadByteOrder.Bgr, 1, 1) 
      underlayImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"), 4, CodecsLoadByteOrder.Bgr, 1, 1) 
      Dim command As TextureAlphaBlendCommand = New TextureAlphaBlendCommand 
      command.DestinationRectangle = New LeadRect(0, 0, leadImage.Width, leadImage.Height) 
      command.MaskImage = MaskImage 
      command.Opacity = 100 
      command.SourceImage = SrcImage 
      command.UnderlayImage = underlayImage 
      command.SourcePoint = New LeadPoint(0, 0) 
      ' Combine ImageSource with the affected image, with MaskImage and a 100 opacity. 
      command.Run(leadImage) 
      codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24) 
 
   Catch ex As Exception 
      MessageBox.Show(ex.Message, "TextureAlphaBlendTest", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) 
   End Try 
 
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.Effects; 
 
       
public void TextureAlphaBlendCommandExample() 
{ 
   // 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 SrcImage; 
   RasterImage MaskImage; 
   RasterImage underlayImage; 
 
   SrcImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Image3.cmp"), 4, CodecsLoadByteOrder.Bgr, 1, 1); 
   //Load the fade mask image. 
   MaskImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\FadeMask.bmp"), 4, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   underlayImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"), 4, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   TextureAlphaBlendCommand command = new TextureAlphaBlendCommand(); 
   command.DestinationRectangle = new LeadRect(image.Width / 2 - MaskImage.Width / 2, image.Height / 2  - MaskImage.Height / 2, MaskImage.Width, MaskImage.Height); 
   command.MaskImage = MaskImage; 
   command.Opacity = 100; 
   command.SourceImage = SrcImage; 
   command.SourcePoint = new LeadPoint(0, 0); 
   command.UnderlayImage = underlayImage; 
   // Combine ImageSource with the affected image, with MaskImage and a 100 opacity. 
   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.Effects; 
using Leadtools.ImageProcessing; 
 
       
public async Task TextureAlphaBlendCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   string srcFileName = @"Assets\Master.jpg"; 
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 
 
   // Prepare the command 
   RasterImage srcImage; 
   RasterImage maskImage; 
   RasterImage underlayImage; 
 
   srcFileName = @"Assets\Image3.cmp"; 
   loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   srcImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 4, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   //Load the fade mask image. 
   srcFileName = @"Assets\FadeMask.bmp"; 
   loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   maskImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 4, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   //Load the underlay image. 
   srcFileName = @"Assets\cannon.jpg"; 
   loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   underlayImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 4, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   TextureAlphaBlendCommand command = new TextureAlphaBlendCommand(); 
   command.DestinationRectangle = LeadRectHelper.Create(image.Width / 2 - maskImage.Width / 2, image.Height / 2 - maskImage.Height / 2, maskImage.Width, maskImage.Height); 
   command.MaskImage = maskImage; 
   command.Opacity = 100; 
   command.SourceImage = srcImage; 
   command.SourcePoint = LeadPointHelper.Create(0, 0); 
   command.UnderlayImage = underlayImage; 
   // Combine ImageSource with the affected image, with MaskImage and a 100 opacity. 
   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

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