Наложение изображения на внешнее окно - PullRequest
2 голосов
/ 17 марта 2010

Я пишу приложение C # WPF, которое создает захват активного окна. Что я хочу сделать, так это наложить прозрачный файл .png в углу активного окна во время захвата, чтобы все видео, созданные моим приложением, имели водяные знаки.

Если у меня есть описываемый мною IntPntr дескриптор окна и файл изображения - как лучше всего это сделать?

Спасибо

1 Ответ

1 голос
/ 17 марта 2010

Создайте новый HwndSource, передавая дескриптор IntPtr родительского элемента:

var hwndSource = new HwndSource(new HwndSourceParameters("OverlayWindow")
{
  ParentWindow = parentHandleIntPtr,
  UsesPerPixelOpacity = true,
  Width = 100,
  Height = 100,
})
{
  RootVisual = new Image { Source = watermarkBitmapSource },
};

Если это не сработает сразу, протестируйте код «новое изображение ...» в обычном окне WPF, чтобы убедиться, что он работает. Если вы все еще ничего не видите, попробуйте представить что-то вроде CheckBox или TextBlock, используя HwndSource, чтобы убедиться, что это работает, а затем соедините их вместе.

...