LEADTOOLS ナレッジベース

[RasterImageViewer] 表示している画像を、他の画像と合成できますか?

RasterImagingViewer1のビットマップと、RasterImagingViewer2のビットマップを単純に合成する場合、RasterImagingViewer2のビットマップ全体を「リージョン」と呼ばれる選択領域に設定し、RasterImagingViewer1のビットマップに合成します。

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

' 画像をRasterImagingViewer1にロードします。
RasterImageViewer1.Image = codecs.Load("C:\Images\sample1.cmp")
' RasterImagingViewer1の画像に合成する画像をRasterImagingViewer2にロードします。
RasterImageViewer2.Image = codecs.Load("C:\Images\sample2.cmp")

' RasterImagingViewer2に読み込んだ画像全体をリージョンに設定します。
RasterImageViewer2.Image.AddRectangleToRegion(Nothing, New LeadRect(0, 0, RasterImageViewer2.Image.ImageWidth, RasterImageViewer2.Image.ImageHeight), RasterRegionCombineMode.Set)

' 合成します。
Dim combine As CombineFastCommand = New CombineFastCommand()
combine.DestinationImage = RasterImageViewer1.Image
combine.DestinationRectangle = New LeadRect(50, 50, RasterImageViewer2.Image.ImageWidth, RasterImageViewer2.Image.ImageHeight)
combine.SourcePoint = New LeadPoint(0, 0)
combine.Flags = CombineFastCommandFlags.OperationAdd + CombineFastCommandFlags.Destination0
combine.Run(RasterImageViewer2.Image)

サンプルコード(C#)

// 画像をrasterImagingViewer1にロードします。
rasterImageViewer1.Image = codecs.Load(@"C:\Images\sample1.cmp");
// rasterImagingViewer1の画像に合成する画像をrasterImagingViewer2にロードします。
rasterImageViewer2.Image = codecs.Load(@"C:\Images\sample2.cmp");

// rasterImagingViewer2に読み込んだ画像全体をリージョンに設定します。
rasterImageViewer2.Image.AddRectangleToRegion(null, new LeadRect(0, 0, rasterImageViewer2.Image.ImageWidth, rasterImageViewer2.Image.ImageHeight), RasterRegionCombineMode.Set);

// 合成します。
CombineFastCommand combine = new CombineFastCommand();
combine.DestinationImage = rasterImageViewer1.Image;
combine.DestinationRectangle = new LeadRect(50, 50, rasterImageViewer2.Image.ImageWidth, rasterImageViewer2.Image.ImageHeight);
combine.SourcePoint = new LeadPoint(0, 0);
combine.Flags = CombineFastCommandFlags.OperationAdd | CombineFastCommandFlags.Destination0;
combine.Run(rasterImageViewer2.Image);

 

関連情報

0 コメント

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