Skip to content

LucioSong/ImageViewerSample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImageViewerSample

.net Framework 4.6 기반에 Image viewer User contorl입니다. ImageViewport를 생성하여 Panel과 같은 Controls에 Add 한 후 사용하는 방식으로 되어 있습니다. 이 Contorl의 사용 범위는 이미지 file의 Viewer / Camera 이미지 Viewer에 쓰일 수 있습니다. 좀 더 응용할 수 있는 방법이 있다면 https://luciodev.tistory.com/12 블로그에 댓글이나 방명록에 남겨주시면 적극 반영하도록 하겠습니다.

image

  • Summary 코드
ImageViewport _imageViewportControl = null;

public Form1()
{
    InitializeComponent();

    _imageViewportControl = new ImageViewport();
}

private void Form1_Load(object sender, EventArgs e)
{
    _imageViewportControl.DrawOverlayViewportEvent += OnDrawOverlayViewport;
    _imageViewportControl.Dock = DockStyle.Fill;
    splitContainer1.Panel2.Controls.Add(_imageViewportControl);

    propertyGrid1.SelectedObject = _imageViewportControl;
}

private void OnDrawOverlayViewport(object sender, EventArgs e)
{
    if (checkBox_drawoverlay_line.Checked)
    {
        _imageViewportControl.Drawoverlay_SetColorLine(Color.White);
        _imageViewportControl.DrawoverlayWorld_DrawLine(0, 0, 10, 10);
        _imageViewportControl.Drawoverlay_SetColorLine(Color.YellowGreen);
        _imageViewportControl.DrawoverlayWorld_DrawLine(0, 10, 10, 0);

        _imageViewportControl.Drawoverlay_SetColorLine(Color.YellowGreen);
        _imageViewportControl.DrawoverlayScreen_DrawLine(0, 0, 30, 30);
        _imageViewportControl.Drawoverlay_SetColorLine(Color.White);
        _imageViewportControl.DrawoverlayScreen_DrawLine(0, 30, 30, 0);
    }

    if (checkBox_text.Checked)
    {
        _imageViewportControl.DrawoverlayWorldPosition_DrawText(0, 30, textBox_text.Text, Font, Color.White, Color.Black, (float)1.0);
    }

    if (checkBox_drawoverlay_rectangle.Checked)
    {
        _imageViewportControl.Drawoverlay_SetColorLine(Color.Yellow);
        _imageViewportControl.DrawoverlayWorld_DrawRectangle(0, 0, 30, 30, 0);
    }

    if (checkBox_drawoverlay_ellipse.Checked)
    {
        _imageViewportControl.Drawoverlay_SetColorLine(Color.LightGreen);
        _imageViewportControl.DrawoverlayWorld_DrawEllipse(20, 15, 20, 15, 0);
    }
}

Releases

No releases published

Packages

No packages published

Languages