LEADTOOLS ナレッジベース

[RasterImageViewer] リージョンの内部のみ、もしくはリージョン以外の部分のみを塗りつぶすには?

ピクセルの値を変更するLEADTOOLSのクラス(FillCommandクラスなど)は、画像にリージョンが定義されている場合、画像全体にではなく定義されているリージョン範囲に対してのみ適用されますので、リージョン内部、もしくはリージョンを除いた部分のみを塗りつぶすといった処理が可能です。

以下のコードでは作成した長方形リージョンを除いた部分を青く塗りつぶしています。

サンプルコード(VB.NET)

' リージョンを定義する長方形を指定します。
Dim rc As LeadRect = New LeadRect(50, 50, 300, 200)

' 長方形リージョンを作成します。
RasterImageViewer1.Image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.SetNot)

' 画像を青で塗りつぶします。
Dim command As Leadtools.ImageProcessing.FillCommand = New Leadtools.ImageProcessing.FillCommand()
command.Color = New RasterColor(0, 0, 255)
command.Run(RasterImageViewer1.Image)

サンプルコード(C#)

// リージョンを定義する長方形を指定します。
LeadRect rc = new LeadRect(50, 50, 300, 200);

// 長方形リージョンを作成します。
rasterImageViewer1.Image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.SetNot);

// 画像を青で塗りつぶします。
Leadtools.ImageProcessing.FillCommand command = new Leadtools.ImageProcessing.FillCommand();
command.Color = new RasterColor(0, 0, 255);
command.Run(rasterImageViewer1.Image);

 

関連情報

0 コメント

記事コメントは受け付けていません。