2009-12-31 3 views
3

Я делаю очень простое приложение на C# с Visual Studio, поэтому я использую этот пакет Forms. Мне нужно получить доступ к изображению всего под ним, чтобы я мог манипулировать изображением. Как я могу это сделать?Как получить доступ к изображению буфера рабочего стола в .NET?

Это не должно быть в реальном времени очень много, так как я, вероятно, буду опросить его не более, чем сказать 10 кадров в секунду.

+0

очень интересный вопрос –

ответ

3

Вы можете использовать Graphics.CopyFromScreen, но вам нужно будет скрыть свое окно, прежде чем вы его назовете или иначе оно появится на изображении.

3

Вы можете использовать Interop, чтобы получить крюк в «Desktop Window», если это то, что вы имеете в виду, а затем вы можете использовать, чтобы получить снимок экрана ... это ссылка может помочь:

Getting the Desktop Window from .NET

Другой вариант (вы сказали, WinForms, справа), чтобы создать пустышку Bitmap и использовать Graphics.CopyFromScreen метод:

int screenWidth = 1024; 
int screenHeight = 768; 
Bitmap holder = new Bitmap(screenWidth, screenHeight); 
Graphics graphics = Graphics.FromImage(holder); 
graphics.CopyFromScreen(0,0,0,0,new Size(screenWidth, screenHeight), CopyPixelOperation.SourceCopy); 
+0

Link сломала, но, похоже, есть новая ссылка: HTTP: // WWW .peterprovost.org/блог/20 03/08/05/Getting-the-Desktop-Window-from-NET/ – RobertB

+0

@RobertB Спасибо, обновил ссылку – JerKimball

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