|
NXImageLayerCompLink Class
|
동일한 뷰에서 2개의 영상을 동시에 비교하여 도시할 수 있는 컨트롤이다.
Inheritance Hierarchy
Namespace: Pixoneer.NXDL.NXImageAssembly: NXImage (in NXImage.dll) Version: 2.0.3.38
Syntaxpublic class NXImageLayerCompLink : NXImageLayer
The NXImageLayerCompLink type exposes the following members.
Constructors
Properties
Methods
Example
예제 #1:
using Pixoneer.NXDL.NIO;
partial class FormMain
{
private Pixoneer.NXDL.NXImage.NXImageView nxImageView1;
private Pixoneer.NXDL.NXImage.NXImageLayerCompLink nxImageLayerCompLink1;
private void InitializeComponent()
{
this.nxImageView1 = new Pixoneer.NXDL.NXImage.NXImageView();
this.nxImageLayerCompLink1 = new Pixoneer.NXDL.NXImage.NXImageLayerCompLink();
this.nxImageLayerCompLink1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.nxImageLayerCompLink1.FrontAlpha = 1F;
this.nxImageLayerCompLink1.SwipeMode = Pixoneer.NXDL.NXImage.NXImageLayerCompLink.eSwipeMode.Horizontal;
this.nxImageLayerCompLink1.Location = new System.Drawing.Point(20, 75);
this.nxImageLayerCompLink1.Name = "nxImageLayerCompLink1";
this.nxImageLayerCompLink1.Size = new System.Drawing.Size(145, 30);
this.nxImageLayerCompLink1.TabIndex = 1;
this.nxImageLayerCompLink1.Visible = false;
this.nxImageView1.Controls.Add(this.nxImageLayerCompLink1);
}
private void horToolStripMenuItem_Click(object sender, EventArgs e)
{
nxImageLayerCompLink1.SwipeMode = NXImageLayerCompLink.eSwipeMode.Horizontal;
}
private void vertToolStripMenuItem_Click(object sender, EventArgs e)
{
nxImageLayerCompLink1.SwipeMode = NXImageLayerCompLink.eSwipeMode.Vertical;
}
private void openPairFilesToolStripMenuItem_Click(object sender, EventArgs e)
{
string strFile1 = "";
string strFile2 = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
strFile1 = openFileDialog1.FileName;
} else return;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
strFile2 = openFileDialog1.FileName;
} else return;
FillCompisiteManager(strFile1, false);
FillCompisiteManager(strFile2, true);
nxImageLayerCompLink1.ZoomFit();
}
private void FillCompisiteManager(string strFile, bool bS)
{
String strError;
XRSLoadFile xrsFile = m_RSFileDriverManager.LoadFile(strFile, out strError, true, eIOCreateXLDMode.All_NoMsg);
if (xrsFile == null) return;
XDMComposite newcomp;
XDMCompManager xdmManager;
if(bS)
xdmManager = nxImageLayerCompLink1.GetXDLCompManager2();
else
xdmManager = nxImageLayerCompLink1.GetXDLCompManager1();
int numBand = xrsFile.NumBand;
newcomp = new XDMComposite();
newcomp.Name = xrsFile.FileName;
if (numBand >= 3)
{
XDMBand bandL0 = xrsFile.GetBandAt(0);
XDMBand bandL1 = xrsFile.GetBandAt(1);
XDMBand bandL2 = xrsFile.GetBandAt(2);
newcomp.Mode = eCompMode.RGB;
if (bS)
{
newcomp.SetBand(ref bandL0, 0);
newcomp.SetBand(ref bandL1, 2);
newcomp.SetBand(ref bandL2, 1);
}
else
{
newcomp.SetBand(ref bandL0, 2);
newcomp.SetBand(ref bandL1, 1);
newcomp.SetBand(ref bandL2, 0);
}
for (int i = 0; i < 3; i++)
{
newcomp.SetCutType(eCompCutType.Ct95, i);
newcomp.SetStretchCoverage(eCompStretchCoverage.Band, i);
newcomp.SetStretchType(eCompStretchType.Gaussian, i);
newcomp.SetCutMin(0.0, i);
newcomp.SetCutMax(255.0, i);
}
}
else
{
XDMBand bandL0 = xrsFile.GetBandAt(0);
newcomp.Mode = eCompMode.Gray;
newcomp.SetBand(ref bandL0, 0);
newcomp.SetCutType(eCompCutType.Ct95, 0);
newcomp.SetStretchCoverage(eCompStretchCoverage.Band, 0);
newcomp.SetStretchType(eCompStretchType.Gaussian, 0);
}
xdmManager.AddXDMComposite(ref newcomp);
newcomp = null;
xdmManager = null;
}
}
See Also