LEADTOOLS Image Processing (Leadtools.ImageProcessing.SpecialEffects assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
BricksTextureCommand Class
See Also  Members  
Leadtools.ImageProcessing.SpecialEffects Namespace : BricksTextureCommand Class



Creates a brick texture that makes the image look like it has been drawn on a brick wall. This command is available in the Raster Pro and above toolkits.

Object Model

BricksTextureCommand Class

Syntax

Visual Basic (Declaration) 
Public Class BricksTextureCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements IRasterCommand 
Visual Basic (Usage)Copy Code
Dim instance As BricksTextureCommand
C# 
public class BricksTextureCommand : Leadtools.ImageProcessing.RasterCommand, IRasterCommand  
C++/CLI 
public ref class BricksTextureCommand : public Leadtools.ImageProcessing.RasterCommand, IRasterCommand  

Example

Run the Leadtools.ImageProcessing.SpecialEffects.BricksTextureCommand on an empty gray image.

Visual BasicCopy Code
Public Sub BricksCommandExample()
   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 cmd As New FillCommand(New RasterColor(128, 128, 128))
   cmd.Run(leadImage)
   Dim command As BricksTextureCommand = New BricksTextureCommand
   command.BricksWidth = 60
   command.BricksHeight = 20
   command.OffsetX = 0
   command.OffsetY = 0
   command.EdgeWidth = 3
   command.MortarWidth = 4
   command.ShadeAngle = 315
   command.RowDifference = 33
   command.MortarRoughness = 20
   command.MortarRoughnessEvenness = 0
   command.BricksRoughness = 10
   command.BricksRoughnessEvenness = 0
   command.MortarColor = New RasterColor(0, 0, 0)
   command.Flags = BricksTextureCommandFlags.SmoothedOutEdges Or BricksTextureCommandFlags.TransparentMortar
   'Apply Bricks Texture 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
C#Copy Code
public void BricksCommandExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

      // Prepare the command
      FillCommand cmd = new FillCommand(new RasterColor(128, 128, 128));
      cmd.Run(image);
      BricksTextureCommand command = new BricksTextureCommand();
      command.BricksWidth = 60;
      command.BricksHeight = 20;
      command.OffsetX = 0;
      command.OffsetY = 0;
      command.EdgeWidth = 3;
      command.MortarWidth = 4;
      command.ShadeAngle = 315;
      command.RowDifference = 33;
      command.MortarRoughness = 20;
      command.MortarRoughnessEvenness = 0;
      command.BricksRoughness = 10;
      command.BricksRoughnessEvenness = 0;
      command.MortarColor = new RasterColor(0, 0, 0);
      command.Flags = BricksTextureCommandFlags.SmoothedOutEdges | BricksTextureCommandFlags.TransparentMortar;
      //Apply Bricks Texture 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";
}

Remarks

  • This command creates a brick-like texture. Edges that are in the angle of the light source are brightened and the others are darkened. Apply this texture to an image by using image as the source image. You can obtain the best result by applying this command on a medium brightness image.
  • Using the shading option of BricksTextureCommandFlags.SmoothedOutEdges results in bricks that have a more chiseled look than the same settings with a shading option of BricksTextureCommandFlags.SmoothedInEdges.
  • As an example, suppose you were to start with a gray image, like the following figure:

  • Now suppose you call the BricksTextureCommand command. The following settings apply to all of the following figures:
    Parameter Value
    OffsetX 0
    OffsetY 0
    RowDifference 35
    BricksWidth 60
    BricksHeight 20
  • If you were to use the following additional settings:
    Parameter Value
    MortarRoughness 0
    MortarRoughnessEvenness 0
    BricksRoughness 0
    BricksRoughnessEvenness 0
    Flags BricksTextureCommandFlags.SmoothedOutEdges

    The following figure results:
  • Note how smooth the surface of both the mortar and the bricks is. In the following figure, the only change from the previous settings is the value of BricksRoughness, which is set to 196:
  • In the following figure, BricksRoughness remains set to 196 and in addition, BricksRoughnessEvenness is set to 4:
  • The next two figures show the difference between the BricksTextureCommandFlags.SmoothedOutEdges flag and the BricksTextureCommandFlags.SmoothedInEdges flag. For these figures the following settings are used:
    Parameter Value
    MortarRoughness 0
    MortarRoughnessEvenness 0
    BricksRoughness 250
    BricksRoughnessEvenness 0
    EdgeWidth 7
    MortarWidth 4

    In the following figure the BricksTextureCommandFlags.SmoothedOutEdges flag is set:

    In the following figure the BricksTextureCommandFlags.SmoothedInEdges flag is set:
  • 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 Applying Artistic Effects.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.SpecialEffects.BricksTextureCommand

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also