Click or drag to resize
XDL

NXVideoView Class

NXVideoView클래스는 비디오 영상을 도시하기 위한 Control 객체를 생성한다.
Inheritance Hierarchy

Namespace:  Pixoneer.NXDL.NXVideo
Assembly:  NXVideo (in NXVideo.dll) Version: 1.2.817.72
Syntax
C#
public class NXVideoView : UserControl

The NXVideoView type exposes the following members.

Constructors
  NameDescription
Public methodNXVideoView
NXVideoView클래스의 기본 생성자로서, 내부 멤버 변수의 초기화를 수행한다.
Top
Properties
  NameDescription
Public propertyAutoZoomFit
회전이나 다른 화면 변환을 하지 않았을 때 화면에 맞게 배율을 조정한다.
Public propertyBackgroundColor
Video도시 화면의 배경색을 설정한다.
Public propertyBlankMode
비디오 화면을 보이지 않는 모드.
Public propertyBrightness
Video 도시화면의 CBS의 값중 Brightness값을 설정한다.
Public propertyContrast
Video 도시화면의 CBS의 값중 Contrast값을 설정한다.
Public propertyCoordSystem
비디오뷰 영상 좌표계.
Public propertyFilterSize
필터 적용시 Filter 크기를 설정한다. 필터 크기는 5 이하가 적당하다.
Public propertyFilterType
Shader를 통해 적용하기 위한 Filter를 설정한다.
Public propertyFrameCapture
프레임 갈무리 버퍼. 프레임 갈무리 버퍼를 지정하면 렌더 화면을 프레임버퍼(FBO)를 써서 그리고 저장한다.
Public propertyGammaFactor
Video 도시화면의 Gamma Correction에 대한 Factor값을 설정한다.
Public propertyPostProcessingCapture
후처리 비디오 프레임 갈무리 버퍼. 쉐이더 영상 처리가 적용된 프레임을 갈무리하여 얻는다.
Public propertyRefreshInterval
동영상 재생과 무관하게 화면을 갱신하는 기간 간격을 밀리초 지정한다. 비디오뷰 쓰레드에서 렌더 콜백 함수가 불리므로 재생 상태 확인 등에 활용할 수 있다.
Public propertyRenderedFramePts
화면에 그린 비디오 프레임 PTS를 얻는다.
Public propertyRotation
Video도시 화면의 회전 각도를 설정한다. 회전 각도 설정시 비디오가 회전되어 도시된다.
Public propertySaturation
Video 도시화면의 CBS의 값중 Saturation값을 설정한다.
Public propertyScale
Video도시 화면의 확대/축소 비율을 설정한다.
Public propertyShowInfo
비디오 재생 시 내부 디버그 정보를 표시한다.
Public propertyTranslation
Video도시 화면의 이동 값을 설정한다.
Public propertyUseShader
Shader를 사용하는지를 확인한다.
Top
Methods
  NameDescription
Public methodAddRenderLayer
뷰에 레이어를 추가한다.
Public methodCallDrawLastFrame
비디오 프레임을 다른 화면에 그리기 위하여 렌더링 요청을 한다. 이 때 모든 모델/투영 행렬은 설정이 완료된 상태라고 가정하고 입력되는 좌표로 직접 그리기 명령을 내보낸다. Warping 효과를 주기 위하여 격자 형태의 좌표를 입력받는데 테두리 점들이 반드시 입력에 포함되어야 한다.
Public methodCaptureFrame
화면에 그린 비디오 프레임을 텍스처로 얻는다.
Public methodGetDrawArgs
비디오뷰 그리기 인자를 얻는다.
Public methodGetHandle
비디오뷰 윈도 핸들을 얻는다.
Public methodGetScreenPixel
비디오뷰 패널 화면 좌표에 해당하는 화소 색상값을 얻는다. 프레임 영역 밖인 경우 배경 색상을 반환한다.
Public methodGetWorldPixel
비디오뷰 영상(World) 좌표에 해당하는 화소 색상값을 얻는다. 프레임 영역 밖인 경우 배경 색상을 반환한다.
Public methodIsUnderMouse
이 비디오뷰가 마우스 커서 아래에 있는지 확인한다.
Public methodRefreshScreen
스크린을 갱신한다.
Public methodRemoveRenderLayer
뷰에 레이어를 분리한다.
Public methodResetVideoChannel
비디오뷰에 설정한 채널을 없앤다.
Public methodScreenToWorld
비디오뷰 패널 화면(Screen) 화소 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSetUnderMouse
이 비디오뷰가 마우스 커서 아래에 있는 상태를 설정한다. 내부 엔진에서 호출되며 사용자가 호출할 필요가 없다.
Public methodSetVideoChannel(XVideoChannel)
비디오뷰에 재생할 비디오 채널을 설정한다.
Public methodSetVideoChannel(XVideo, Int32)
비디오뷰에 재생할 비디오 채널을 설정한다.
Public methodSpaceToWorld(XGeoPoint, XVertex2d)
현재 프레임에서 지구상의 지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSpaceToWorld(XVertex3d, XVertex2d)
현재 프레임에서 지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSpaceToWorld(Int64, XGeoPoint, XVertex2d)
지구상의 지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSpaceToWorld(Int64, XVertex3d, XVertex2d)
지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodWorldToScreen
비디오뷰 영상(World) 좌표를 비디오뷰 패널 화면(Screen) 화소 좌표로 변환한다.
Public methodWorldToSpace(XVertex2d, XGeoPoint)
현재 프레임에서 비디오뷰 영상(World) 좌표를 지구상의 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(XVertex2d, XVertex3d)
현재 프레임에서 비디오뷰 영상(World) 좌표를 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(Int64, XVertex2d, XGeoPoint)
비디오뷰 영상(World) 좌표를 지구상의 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(Int64, XVertex2d, XVertex3d)
비디오뷰 영상(World) 좌표를 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(XVertex2d, Double, XGeoPoint)
현재 프레임에서 비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지구상의 지리공간(Space) 좌표를 구한다.
Public methodWorldToSpace(XVertex2d, Double, XVertex3d)
현재 프레임에서 비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지리공간(Space) 좌표를 구한다.
Public methodWorldToSpace(Int64, XVertex2d, Double, XGeoPoint)
비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지구상의 지리공간(Space) 좌표를 구한다.
Public methodWorldToSpace(Int64, XVertex2d, Double, XVertex3d)
비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지리공간(Space) 좌표를 구한다.
Top
Examples
This is example #1:
XVideoIO m_VideoIO;
XVideo m_Video;
XVideoChannel m_channel;

public FormVideoView()
{
    InitializeComponent();
}

private void FormVideo_Load(object sender, EventArgs e)
{
    m_Video = null;
    m_VideoIO = new XVideoIO();

    string strPath = "D:\\Sample\\Video\\2015_08_18_00_00_00.ts";
    string strError = null;
    m_Video = m_VideoIO.OpenFile(strPath, "XFFMPDRIVER", out strError);

    if (m_Video == null)
    {
        MessageBox.Show(strError);
        return;
    }

    int nIdxChannel = 0;
    nxVideoView1.SetVideoChannel(m_Video, nIdxChannel);

    m_channel = m_Video.GetChannel(nIdxChannel);

    if (m_channel == null)
    {
        MessageBox.Show("Channel is not valid");
    }

    m_channel.Activate();
    m_channel.Play();
}

private void FormVideoView_FormClosing(object sender, FormClosingEventArgs e)
{
    nxVideoView1.ResetVideoChannel();
    if (m_Video != null)
        m_Video.Close();
}
See Also