Обновлено: Я пробую clientRectangle, но получаю изображение из левого верхнего угла рабочего стола, а не из формы! Пытаюсь получить скриншот моей формы, где есть флеш-анимация. Итак, я пробую это:
Rectangle bounds = this.Bounds;
Bitmap bitmap = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(bitmap);
g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
bitmap.Save("C:/Users/Public/Documents/YouCam/flash.jpeg", ImageFormat.Jpeg);
MessageBox.Show("Save");
Это работает, но я также получаю границу формы с этим. Как я могу получить внутреннюю часть формы без панели управления и границ? Красным цветом обозначена зона, которую я хочу захватить:
Спасибо ;)
PS: извините за мой плохой английский!
ClientRectangle не работает, я получаю лучшее расположение на столе ...
Вы можете использовать метод DrawToBitmap формы следующим образом:
Bitmap bitmap = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height);
this.DrawToBitmap(bitmap, this.ClientRectangle);
bitmap.Save(@"C:\Deployment\test.bmp");
Вы это проверяли? Потому что пользователю не нужны границы.
Да, я пробую это, но drawtobitmap не работает с флэш-анимацией! Работает только CopyFromScreen.
@Gtazer В вашем вопросе ничего не упоминается о флэш-анимации. Важно правильно задокументировать свой вопрос.
Да мне плохо, извините! Итак, я хочу сделать снимок экрана с помощью флеш-анимации! Поэтому я пробую clientRectangle, но получаю из левой верхней позиции стола ...
Вместо использования границ попробуйте
ClientRectangle
, но вам придется преобразовать его в координаты экрана.