Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.9
|
Leadtools.ImageProcessing.Effects Namespace > CombineCommand Class > CombineCommand Constructor : CombineCommand Constructor(RasterImage,LeadRect,LeadPoint,CombineCommandFlags) |
In order to speed up widely used image processing filters in LEADTOOLS, the grayscale value (master channel) of a colored image is calculated using the following formulas:
#define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8)))) #define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8)) #define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
public CombineCommand( RasterImage sourceImage, LeadRect destinationRectangle, LeadPoint sourcePoint, CombineCommandFlags flags )
'Declaration
Public Function New( _ ByVal sourceImage As RasterImage, _ ByVal destinationRectangle As LeadRect, _ ByVal sourcePoint As LeadPoint, _ ByVal flags As CombineCommandFlags _ )
'Usage
Dim sourceImage As RasterImage Dim destinationRectangle As LeadRect Dim sourcePoint As LeadPoint Dim flags As CombineCommandFlags Dim instance As New CombineCommand(sourceImage, destinationRectangle, sourcePoint, flags)
public CombineCommand( RasterImage sourceImage, LeadRect destinationRectangle, LeadPoint sourcePoint, CombineCommandFlags flags )
- (instancetype)initWithSourceImage:(LTRasterImage *)sourceImage destinationRectangle:(LeadRect)destinationRectangle sourcePoint:(LeadPoint)sourcePoint flags:(LTCombineCommandFlags)flags
public CombineCommand( RasterImage sourceImage, LeadRect destinationRectangle, LeadPoint sourcePoint, int flags )
function CombineCommand( sourceImage , destinationRectangle , sourcePoint , flags )
public: CombineCommand( RasterImage^ sourceImage, LeadRect destinationRectangle, LeadPoint sourcePoint, CombineCommandFlags flags )
In order to speed up widely used image processing filters in LEADTOOLS, the grayscale value (master channel) of a colored image is calculated using the following formulas:
#define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8)))) #define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8)) #define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
Run the CombineCommand on an image.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Effects Public Sub CombineConstructorExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\Image3.cmp")) ' Prepare the command Dim tempImage As RasterImage = leadImage.Clone() ' the rectangle that represents the affected area of the destination image. Dim rect As LeadRect = New LeadRect(CType((leadImage.Width / 8), Integer), CType((leadImage.Height / 8), Integer), leadImage.Width, leadImage.Height) ' The source point, which represents the source point of the source image which to being combining. Dim srcPoint As LeadPoint = New LeadPoint(0, 0) Dim command As CombineCommand = New CombineCommand(tempImage, rect, srcPoint, CombineCommandFlags.OperationAnd Or CombineCommandFlags.Destination1 Or CombineCommandFlags.SourceRed Or CombineCommandFlags.DestinationRed Or _ CombineCommandFlags.ResultBlue) 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.Effects; public void CombineConstructorExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Image3.cmp")); // Prepare the command RasterImage tempImage = image.Clone(); // the rectangle that represents the affected area of the destination image. LeadRect rect = new LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height); // The source point, which represents the source point of the source image which to be combined. LeadPoint srcPoint = new LeadPoint(0, 0); CombineCommand command = new CombineCommand(tempImage, rect, srcPoint,CombineCommandFlags.OperationAnd | CombineCommandFlags.Destination1 | CombineCommandFlags.SourceRed | CombineCommandFlags.DestinationRed | CombineCommandFlags.ResultBlue); 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 CombineConstructorExample() { // 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(); // the rectangle that represents the affected area of the destination image. LeadRect rect = LeadRectHelper.Create(image.Width / 8, image.Height / 8, image.Width, image.Height); // The source point, which represents the source point of the source image which to being combining. LeadPoint srcPoint = LeadPointHelper.Create(0, 0); CombineCommand command = new CombineCommand(tempImage, rect, srcPoint,CombineCommandFlags.OperationAnd | CombineCommandFlags.Destination1 | CombineCommandFlags.SourceRed | CombineCommandFlags.DestinationRed | CombineCommandFlags.ResultBlue); 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); }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Effects; using Leadtools.Examples; public void CombineConstructorExample(RasterImage image, Stream outStream) { // Prepare the command RasterImage tempImage = image.Clone(); LeadRect rect = new LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height); LeadPoint srcPoint = new LeadPoint(0, 0); CombineCommand command = new CombineCommand(tempImage, rect, srcPoint, CombineCommandFlags.OperationAnd | CombineCommandFlags.Destination1 | CombineCommandFlags.SourceRed | CombineCommandFlags.DestinationRed | CombineCommandFlags.ResultBlue); command.Run(image); // Save result image RasterCodecs codecs = new RasterCodecs(); codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24); image.Dispose(); }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Effects Public Sub CombineConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream) ' Prepare the command Dim tempImage As RasterImage = image.Clone() Dim rect As LeadRect = New LeadRect(image.Width / 8, image.Height / 8, image.Width, image.Height) Dim srcPoint As LeadPoint = New LeadPoint(0, 0) Dim command As CombineCommand = New CombineCommand(tempImage, rect, srcPoint, CombineCommandFlags.OperationAnd Or CombineCommandFlags.Destination1 _ Or CombineCommandFlags.SourceRed Or CombineCommandFlags.DestinationRed Or CombineCommandFlags.ResultBlue) command.Run(image) ' Save result image Dim codecs As RasterCodecs = New RasterCodecs() codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24) image.Dispose() End Sub