2016-02-12 3 views
0

У меня возникли трудности с наложением изображения на видеопоток. Я в лучшем случае, новичок в программировании, поэтому заранее извиняюсь, если я ничего не объясню.Наложение изображения на видеопоток (XAML)

Я пытаюсь накладывать прозрачное изображение на видео ленту, которая в настоящее время закодированного как этот

<Grid> 
*Other images are here that are not within the grid below* 
    <Grid> 
     <Image x:name = "Oval" Source = "Oval-outline-01.png" *other things like margin, size etc..* Canvas.ZIndex = "2"> 
     <controls:VideoViewerWPF x:Name = "videoViewer" *other things here*> 
    </Grid> 
</Grid> 

я следовал другие примеры, в результате чего Canvas.ZIndex устанавливается, чтобы быть выше. Но это все еще не работает. Ранее у меня были как VideoViewer, так и Oval на двух отдельных холстах (в сетке по-прежнему), но до сих пор им не удавалось.

Любая помощь будет оценена!

ответ

0
<Grid> 
*Other images are here that are not within the grid below* 
    <Grid> 
     <controls:VideoViewerWPF x:Name = "videoViewer" *other things here*> 
     <Image x:name = "Oval" Source = "Oval-outline-01.png" *other things like margin, size etc..* Canvas.ZIndex = "2"> 
    </Grid> 
</Grid> 

Поместите ваше изображения контроля за ваши управления: VideoViewerWPF так, что появляется над видеопотоком.

Надеюсь, это поможет.

+0

Спасибо за это, но не повезло здесь :( –

+0

@ Josh, не могли бы вы поделиться снимком экрана с вашим окном wpf, чтобы мы могли видеть, как именно вы сейчас выглядите сеткой? – sam

+0

Привет, Сэм, вот ссылка для удаления. Https : //www.dropbox.com/s/b0j5r6pldbhwvh9/screenshot.png? dl = 0, как вы можете видеть, овальное изображение (пунктирные линии) похоже на то, что оно находится за видеовидео. –

0

Мой первоначальный ответ был некорректным, как указано Клеменсом ниже. Вместо того, чтобы удалять это (и, следовательно, также его предложение относительно того, что может произойти), я отредактирую свой ответ, чтобы включить его пункт.

Он сказал, что это может быть конфликт между рендерингом Win32, DirectX и WPF. У вас есть какие-либо компоненты Win32 или DirectX в вашем VideoViewerWPF?

https://msdn.microsoft.com/en-us/library/aa970688(v=vs.100).aspx

Я предлагаю заменить элементы управления: VideoViewerWPF с нативным управления WPF (кнопка или что-то), и видя ли это порядок, то, как и ожидалось. Если это так, похоже, что это может быть проблема выше.

+2

Это не так, поскольку свойство на самом деле ['Panel.ZIndex'] (https://msdn.microsoft.com/en-us/library/system.windows.controls .panel.zindex (v = vs.110) .aspx) в WPF и, следовательно, работает на каждой панели, то есть также в гриде. – Clemens

+0

Так Panel.ZIndex работает, но Canvas.ZIndex нет? – Joe

+1

Нет, я думаю, что OP работает в [«проблема воздушного пространства»] (https://msdn.microsoft.com/en-us/library/aa970688 (v = vs.100) .aspx). 'Canvas.ZIndex' является тем же свойством, что и' Panel.ZIndex', вы просто можете записать его таким образом, потому что Canvas является производным от Panel. – Clemens

Смежные вопросы