LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

CombineFastCommandクラス








メンバ 
コンバインは2つのイメージ(ソースとデスティネーション)からデータを画像化します。そして、データを結合するとき、結合される領域と実行される操作を指定させます。
オブジェクトモデル
構文
public class CombineFastCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class CombineFastCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As CombineFastCommand
public sealed class CombineFastCommand : IRasterCommand  
@interface LTCombineFastCommand : LTRasterCommand
public class CombineFastCommand extends RasterCommand
function Leadtools.ImageProcessing.CombineFastCommand()
public ref class CombineFastCommand : public RasterCommand, IRasterCommand  
解説

例えば、エッジ検出フィルタを適用するためにSpatialFilterCommandクラスを使用するとします。固いエッジでimageを生じるために結果として生じるimageをオリジナルのものと結合するために、このクラスをその後使用することができます。

CombineFastCommandクラスは、実行されたメソッドにimageを渡して、imageをDestinationImageプロパティに組み込むことによって機能します。DestinationImageは、コンバイン操作の結果をその後保持します。

CombineFastCommandフラグは、4つのグループに分けられます:ソース(SRC)はフラグを立てます、デスティネーション(DST)はフラグを立てます、操作(OP)はフラグを立てます、そして、結果として生じるimage(RES)はフラグを立てます。フラグは、定義済みの長方形(必然的にでなく全部のimage)だけに、適用します。フラグは、以下の順序で適用されます:

  1. ソースとデスティネーション長方形の操作は、適用されます。これらは、同時に実装されます。
  2. 組み合わさっている操作は実行されます。
  3. 結果として生じる長方形の操作は、適用されます。

各々のグループから1つのフラグを指定するために、ビットごとのOR(|)を使うことができます。

グループ Flags
ソース長方形の取り扱いを定義するFlags None、SourceNot、Source0、Source1
デスティネーション四角形の取り扱いを定義するFlags DestinationNot、Destination0、Destination1
データを結合するとき、使う操作を定義するFlags OperationOr、OperationXor、OperationAdd、OperationSubtractSource、OperationSubtractDestination、OperationMultiply、OperationDivideSource、OperationDivideDestination、OperationAverage、OperationMinimum、OperationMaximum
結果として生じるimage長方形の取り扱いを定義するFlags ResultNot、Result0、Result1、SourceCopy

結合されるとき、特定のフラグ:を意味することを持っていません

より多くのために、オプション(カラープレーンを指定することのような)はCombineCommandを使います。

詳細については、「画像の処理」を参照してください。

サンプル

以下のサンプルは2つのイメージをロードして、「AND」操作を用いて結合します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing

      
Public Sub CombineFastCommandExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim srcFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image2.cmp")
   Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "CombineFastCommand.bmp")

   ' Load the source images from disk
   Dim srcImage As RasterImage = codecs.Load(srcFileName1)
   Dim destImage As RasterImage = codecs.Load(srcFileName2)

   ' Combine them
   Dim command As CombineFastCommand = New CombineFastCommand()

   ' Specify a position in the destination image
   command.DestinationRectangle = New LeadRect(destImage.Width \ 8, destImage.Height \ 8, destImage.Width, destImage.Height)
   command.SourcePoint = LeadPoint.Empty
   command.DestinationImage = destImage
   command.Flags = CombineFastCommandFlags.OperationAdd Or CombineFastCommandFlags.Destination0
   command.Run(srcImage)

   ' Save it to disk
   codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24)

   ' Clean Up
   destImage.Dispose()
   srcImage.Dispose()
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;

      
public void CombineFastCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName1 = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string srcFileName2 = Path.Combine(ImagesPath.Path, "Image2.cmp");
   string destFileName = Path.Combine(ImagesPath.Path, "CombineFastCommand.bmp");

   // Load the source images from disk
   RasterImage srcImage = codecs.Load(srcFileName1);
   RasterImage destImage = codecs.Load(srcFileName2);

   // Combine them
   CombineFastCommand command = new CombineFastCommand();

   // Specify a position in the destination image
   command.DestinationRectangle = new LeadRect(
      destImage.Width / 8,
      destImage.Height / 8,
      destImage.Width,
      destImage.Height);
   command.SourcePoint = LeadPoint.Empty;
   command.DestinationImage = destImage;
   command.Flags = CombineFastCommandFlags.OperationAdd | CombineFastCommandFlags.Destination0;
   command.Run(srcImage);

   // Save it to disk
   codecs.Save(destImage, destFileName, RasterImageFormat.Bmp, 24);

   // Clean Up
   destImage.Dispose();
   srcImage.Dispose();
   codecs.Dispose();
}
RasterCommandExamples.prototype.CombineFastCommandExample = function ( )
{
    Tools.SetLicense ( ) ;
    with (Leadtools) {
        with (Leadtools.Codecs) {
            with (Leadtools.ImageProcessing) {
                var codecs = new RasterCodecs();

                var srcFileName1 = "Assets\\sample1.cmp";
                var srcFileName2 = "Assets\\sample2.cmp";
                var destFileName = "CombineFastCommand.bmp";
                var srcImage;
                var destImage;

                // Load the source images from disk
                return Tools.AppInstallFolder().getFileAsync(srcFileName1).then(function (loadFile) {
                    return codecs.loadAsync(LeadStreamFactory.create(loadFile))
                })
                .then(function (img) {
                    srcImage = img;
                    return Tools.AppInstallFolder().getFileAsync(srcFileName2)
                })
                .then(function (loadFile) {
                    return codecs.loadAsync(LeadStreamFactory.create(loadFile))
                })
                .then(function (destImg) {
                    destImage = destImg;

                    // Combine them
                    var command = new CombineFastCommand();

                    // Specify a position in the destination image
                    command.destinationRectangle = LeadRectHelper.create(
                       destImage.width / 8,
                       destImage.height / 8,
                       destImage.width,
                       destImage.height);
                    command.sourcePoint = LeadPointHelper.empty;
                    command.destinationImage = destImage;
                    command.flags = CombineFastCommandFlags.operationAdd | CombineFastCommandFlags.destination0;
                    command.run(srcImage);

                    // Save it to disk
                    return Tools.AppLocalFolder().createFileAsync(destFileName)
                })
                .then(function (saveFile) {
                    return codecs.saveAsync(destImage, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 24)
                })
                .then(function () {

                    // Clean Up
                    destImage.close();
                    srcImage.close();
                    codecs.close();
                });
            }
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task CombineFastCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName1 = @"Assets\sample1.cmp";
   string srcFileName2 = @"Assets\sample2.cmp";
   string destFileName = @"CombineFastCommand.bmp";

   // Load the source images from disk
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName1);
   RasterImage srcImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName2);
   RasterImage destImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Combine them
   CombineFastCommand command = new CombineFastCommand();

   // Specify a position in the destination image
   command.DestinationRectangle = LeadRectHelper.Create(
      destImage.Width / 8,
      destImage.Height / 8,
      destImage.Width,
      destImage.Height);
   command.SourcePoint = LeadPointHelper.Empty;
   command.DestinationImage = destImage;
   command.Flags = CombineFastCommandFlags.OperationAdd | CombineFastCommandFlags.Destination0;
   command.Run(srcImage);

   // Save it to disk
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(destImage, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);

   // Clean Up
   destImage.Dispose();
   srcImage.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Examples;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Media;

public void CombineFastCommandExample(RasterImage srcImage, RasterImage destImage, Stream destStream)
{
   RasterCodecs codecs = new RasterCodecs();
   // Combine them
   CombineFastCommand command = new CombineFastCommand();

   // Specify a position in the destination image
   command.DestinationRectangle = new LeadRect(
      destImage.Width / 8,
      destImage.Height / 8,
      destImage.Width,
      destImage.Height);
   command.SourcePoint = LeadPoint.Empty;
   command.DestinationImage = destImage;
   command.Flags = CombineFastCommandFlags.OperationAdd | CombineFastCommandFlags.Destination0;
   command.Run(srcImage);

   // Save it to disk
   codecs.Save(destImage, destStream, RasterImageFormat.Png, 24);

   // Clean Up
   destImage.Dispose();
   srcImage.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.Windows.Media

Public Sub CombineFastCommandExample(ByVal srcImage As RasterImage, ByVal destImage As RasterImage, ByVal destStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Combine them
   Dim command As CombineFastCommand = New CombineFastCommand()

   ' Specify a position in the destination image
   command.DestinationRectangle = New LeadRect(destImage.Width / 8, destImage.Height / 8, destImage.Width, destImage.Height)
   command.SourcePoint = LeadPoint.Empty
   command.DestinationImage = destImage
   command.Flags = CombineFastCommandFlags.OperationAdd Or CombineFastCommandFlags.Destination0
   command.Run(srcImage)

   ' Save it to disk
   codecs.Save(destImage, destStream, RasterImageFormat.Png, 24)

   ' Clean Up
   destImage.Dispose()
   srcImage.Dispose()
End Sub
必要条件

ターゲットプラットホーム

参照

参照

CombineFastCommandメンバ
Leadtools.ImageProcessing名前空間