LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

CombineWarpCommandクラス








メンバ 
視点の変形を用いてソースimage(スレーブ)とデスティネーションimage(マスター)から画像データを結合します。
オブジェクトモデル
構文
public class CombineWarpCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class CombineWarpCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As CombineWarpCommand
public sealed class CombineWarpCommand : IRasterCommand  
@interface LTCombineWarpCommand : LTRasterCommand
function Leadtools.ImageProcessing.CombineWarpCommand()
public ref class CombineWarpCommand : public RasterCommand, IRasterCommand  
解説

全てのソースimageまたは一部のソースimageをゆがませることができます。一部のソースimageをゆがませるために、それに応じてSourceRectangleを設定します。ソースimage全体をゆがませて、以下を設定すること:

CombineWarp.Command.SourceRectangle = new LeadRect(0, 0, RasterImage.Width, RasterImage.Height);

デスティネーションimageの変形領域は、SetDestinationPointsで指定されています。SetDestinationPointsで指定されているポリゴンは、そうしなければなりません:

これらの状況のどちらでもfalseであるならば、このクラスは例外をスローします。

SetDestinationPointsのポイントの順位付けは、結果として生じる変形に影響を及ぼすことができます。たとえば、ソースimageが以下であるならば:

そして、以下に示すようにSetDestinationPointsでポイントを命じることは、以下の変形に終わります:

以下に示すようにSetDestinationPointsでポイントを命じている間、以下の結果はゆがみます:

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

詳細については、「LEADTOOLSによる画像処理入門」を参照してください。

このコマンドは、符合付きデータイメージをサポートしません。

サンプル

このサンプル意志変形は、2つのイメージを結合します。

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

      
Public Sub CombineWarpCommandExample()
   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, "CombineWarpCommand.bmp")

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

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

   Dim destPoints As LeadPoint() = {New LeadPoint(100, 100), New LeadPoint(200, 75), New LeadPoint(200, 250), New LeadPoint(100, 200)}

   command.DestinationImage = parentImage
   command.SetDestinationPoints(destPoints)
   command.SourceRectangle = New LeadRect(0, 0, childImage.Width, childImage.Height)
   command.Flags = CombineWarpCommandFlags.Bilinear
   command.Run(childImage)

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

   ' Clean Up
   parentImage.Dispose()
   childImage.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 CombineWarpCommandExample()
{
   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, "CombineWarpCommand.bmp");

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

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

   LeadPoint[] destPoints =
   {
      new LeadPoint(100,100),
      new LeadPoint(200,75),
      new LeadPoint(200,250),
      new LeadPoint(100,200)
   };

   command.DestinationImage = parentImage;
   command.SetDestinationPoints(destPoints);
   command.SourceRectangle = new LeadRect(0, 0, childImage.Width, childImage.Height);
   command.Flags = CombineWarpCommandFlags.Bilinear;
   command.Run(childImage);

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

   // Clean Up
   parentImage.Dispose();
   childImage.Dispose();
   codecs.Dispose();
}
RasterCommandExamples.prototype.CombineWarpCommandExample = 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 = "CombineWarpCommand.bmp";
                var parentImage;
                var childImage;

                // Load the source images from disk
                return Tools.AppInstallFolder().getFileAsync(srcFileName1).then(function (loadFile) {
                    return codecs.loadAsync(LeadStreamFactory.create(loadFile))
                })
            .then(function (img1) {
                parentImage = img1;

                return Tools.AppInstallFolder().getFileAsync(srcFileName2)
            })
            .then(function (loadFile) {
                return codecs.loadAsync(LeadStreamFactory.create(loadFile))
            })
            .then(function (img2) {
                childImage = img2;

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

                var destPoints =
                [
                    LeadPointHelper.create(100, 100),
                    LeadPointHelper.create(200, 75),
                    LeadPointHelper.create(200, 250),
                    LeadPointHelper.create(100, 200)
                ];

                command.destinationImage = parentImage;
                command.setDestinationPoints(destPoints);
                command.sourceRectangle = LeadRectHelper.create(0, 0, childImage.width, childImage.height);
                command.flags = CombineWarpCommandFlags.bilinear;
                command.run(childImage);

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

                // Clean Up
                parentImage.close();
                childImage.close();
                codecs.close()
            });
            }
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

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

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

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

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

   LeadPoint[] destPoints =
   {
      LeadPointHelper.Create(100,100),
      LeadPointHelper.Create(200,75),
      LeadPointHelper.Create(200,250),
      LeadPointHelper.Create(100,200)
   };

   command.DestinationImage = parentImage;
   command.SetDestinationPoints(destPoints);
   command.SourceRectangle = LeadRectHelper.Create(0, 0, childImage.Width, childImage.Height);
   command.Flags = CombineWarpCommandFlags.Bilinear;
   command.Run(childImage);

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

   // Clean Up
   parentImage.Dispose();
   childImage.Dispose();
}
必要条件

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

参照

参照

CombineWarpCommandメンバ
Leadtools.ImageProcessing名前空間