У меня есть 2 формы.Сохранить форму как изображение (снимок экрана)
- форма 1 содержит контент, который мне нужен скриншот
- Форма 2 содержит графический рисунок (эта форма всегда на высоте, но прозрачный).
мне нужно снимок экрана первой формы, не делая его на верхней части формы 2, а также без учета содержания от формы 2.
здесь некоторые, что я работаю с, что я пытаюсь исправить.
Private Function TakeScreenShot(ByVal Control As Control) As Bitmap
Dim Screenshot As New Bitmap(Control.Width, Control.Height)
Control.DrawToBitmap(Screenshot, New Rectangle(0, 0, Control.Width, Control.Height))
Return Screenshot
End Function
Эта функция не работает, потому что Control.drawtoBitmap не устанавливает значение IMG.
IMG пуст и возвращается как простое белое изображение.
Вызывающий этой функции это
TakeScreenShot(form1.webbrowser1).Save("c:\Screenshot.png",
System.Drawing.Imaging.ImageFormat.Png)
Вся помощь будет оценена.
Это работает! Вы решили мою проблему! – beppe9000
Если вы хотите захватить не только клиентскую часть окна yout, но и все окно, просто измените инструкцию g.CopyFormScreen таким образом -> g.CopyFromScreen (Control.Location.X, Control.Location.Y, 0, 0, Control.Size, CopyPixelOperation.SourceCopy) – Fil