Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

LucioSong/ImageViewerSample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

15 Commits

Repository files navigation

ImageViewerSample

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

image

  • Update 내용 OpenCV Video capture 추가 적용

    image

  • Summary 코드

ImageViewport _imageViewportControl = null;
public Form1()
{
 InitializeComponent();
 _imageViewportControl = new ImageViewport();
}
private void Form1_Load(object sender, EventArgs e)
{
 _imageViewportControl.DrawOverlayViewportEvent += OnDrawOverlayViewport;
 _imageViewportControl.ViewportMouseDown += _imageViewportControl_ViewportMouseDown;
 _imageViewportControl.ViewportMouseUp += _imageViewportControl_ViewportMouseUp;
 _imageViewportControl.ViewportMouseMove += _imageViewportControl_ViewportMouseMove;
 _imageViewportControl.Dock = DockStyle.Fill;
 splitContainer1.Panel2.Controls.Add(_imageViewportControl);
 propertyGrid1.SelectedObject = _imageViewportControl;
 _formOpenCVControl = new FormOpenCVControl();
 _formOpenCVControl.CapturedFrame += _formOpenCVControl_CapturedFrame;
}
private void _formOpenCVControl_CapturedFrame(object sender, Bitmap frame)
{
 _imageViewportControl.UpdateImage(frame);
 _imageViewportControl.Invalidate_ImageViewport();
}
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);
 }
}

About

Based on .netFramework 4.8 ImageViewerControl

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /