C # - сфотографировать изнутри формы - PullRequest
3 голосов
/ 17 июля 2011

ОК, я знаю, как работает DrawToBitmap или методы CopyToScreen и все.То, что я ищу, это как сделать снимок из внутри формы (без границ формы, поля заголовка и максимизации и всего)и я просто не могу понять это.Я ценю любую помощь.

1 Ответ

2 голосов
/ 17 июля 2011

Ну, у вас есть два варианта:
1) Перейти к сложному Windows API's
2) Сделайте скриншот и просто обрежьте форму.
1, вероятно, быстрее и будет работать, даже если что-то скрываетсяформа (например, другая форма)
2 будет работать только в том случае, если форма ничего не скрывает и находится на экране.
Что ж, вы можете использовать этот код, если хотите:

Rectangle form = this.Bounds; 
using (Bitmap bitmap = new Bitmap(form.Width, form.Height)) 
{ 
    using (Graphics graphic = 
        Graphics.FromImage(bitmap)) 
    { 
        graphic.CopyFromScreen(form.Location, 
            Point.Empty, form.Size); 
    } 
    bitmap.Save("D://test.jpg", ImageFormat.Jpeg); 
}
...