Как убрать Emgu CV UI ImageBox с полосы прокрутки - PullRequest
0 голосов
/ 29 декабря 2018

Как убрать полосу прокрутки

WPF + C# + Emgu CV Интерфейс пользователя Есть полоса прокрутки, я ее установил

capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 1024);

Поскольку высота кадра видео иширина больше, чем высота пользовательского интерфейса и ширина

private void OpenCv(ref  VideoCapture capture, int index = 0)
    {
        if (capture == null)
        {
            capture = new VideoCapture(index);
            if (capture.IsOpened)
            {
                capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.Autofocus,0);
                capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 1024);//设置捕捉到帧的高度为320  Width="246"  Height="210"
                capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 1024);//设置捕捉到帧的宽度为240
                capture.FlipHorizontal = false;//捕捉到帧数据进行水平翻转
                capture.ImageGrabbed += eventHandler;
                capture.Start();
            }
            else
            {
                capture = null;
            }
        }
    }

Xaml

<wfi:WindowsFormsHost ScrollViewer.VerticalScrollBarVisibility="Hidden" 
                          HorizontalAlignment="Stretch"    >
    <emui:ImageBox   Enabled="False" 
                     AllowDrop="False"
                     AutoSize="True"

                     AutoScrollOffset="0,0"
                     x:Name="capturedImageBox" 
                     Paint="CapturedImageBoxPaint" />
</wfi:WindowsFormsHost> 

1 Ответ

0 голосов
/ 01 января 2019

Вам следует заключить WindowsFormsHost в ScrollViewer, если вы еще этого не сделали, и установить его свойства внутри его тега.

Я имею в виду;

<ScrollViewer VerticalScrollBarVisibility="Hidden" ...>
 <wfi:WindowsFormsHost ...>
 //...
 </wfi:WindowsFormsHost>
</ScrollViewer>
...