Я прочитал множество других вопросов и погуглил проблему, но я могу понять, как это сделать, только если использую winforms. В настоящее время я пишу библиотеку, и одна из функций библиотеки заключается в обработке журналов. Одна из функций, которые я реализую для этого, - это автоматически сделать скриншот страницы, прежде чем записывать проблему в журнал. Проблема в том, что я не знаю, с какого монитора сделать снимок экрана, поэтому, если пользователь перемещает браузер на другой монитор, я все равно делаю снимок с основного.
public static Bitmap ScreenShot(string saveLocation, string fileName)
{
Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics.FromImage(bitmap).CopyFromScreen(0, 0, 0, 0, bitmap.Size);
string savePath = Path.Combine(Path.GetDirectoryName(saveLocation), "ScreenShots");
if (!Directory.Exists(savePath))
Directory.CreateDirectory(savePath);
bitmap.Save(Path.Combine(savePath, fileName), ImageFormat.Png);
return bitmap;
}
Я пробовал Screen.FromControl()
, но, поскольку это не приложение winforms, у меня нет ни одного System.Windows.Forms.Controls для его поиска.
Есть ли в ASP.NET аналог? Или что-то, что я могу явно привести к элементу управления winform?