check point
This commit is contained in:
44
VisionBuilder.UI.Windows/Components/PreviewWindow.cs
Normal file
44
VisionBuilder.UI.Windows/Components/PreviewWindow.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using OpenCvSharp.Extensions;
|
||||
using VisionBuilder.UI.Common.ViewModel;
|
||||
|
||||
namespace VisionBuilder.UI.Windows.Components;
|
||||
|
||||
public class PreviewWindow:PictureBox
|
||||
{
|
||||
private PreviewVM _previewVm;
|
||||
|
||||
public void SetViewModel(PreviewVM previewVm)
|
||||
{
|
||||
_previewVm = previewVm;
|
||||
_previewVm.PropertyChanged += _previewVm_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _previewVm_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
case nameof(PreviewVM.ImagePreview):
|
||||
var bmp = _previewVm.ImagePreview?.ToBitmap();
|
||||
using (Graphics g = Graphics.FromImage(bmp))
|
||||
{
|
||||
// draw red border around the image if it's an error
|
||||
if (_previewVm.IsError)
|
||||
{
|
||||
using (Pen pen = new Pen(Color.Red, 5))
|
||||
{
|
||||
g.DrawRectangle(pen, 0, 0, bmp.Width - 1, bmp.Height - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
Image = bmp;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public PreviewWindow()
|
||||
{
|
||||
SizeMode = PictureBoxSizeMode.Zoom;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user