2009-04-03 36 views
5

Tôi muốn thêm khả năng cho người dùng chụp màn hình hiện tại trong ứng dụng của tôi và gửi email cho nó. Tôi có một cơ sở người dùng rất phi kỹ thuật nên tôi cần điều này càng đơn giản càng tốt. Tôi dự định cho phép họ nhấp vào một mục menu có tên Help Me! sau đó sẽ chụp màn hình ứng dụng hiện tại, hy vọng là jpg hoặc png, sau đó mở Outlook và thêm hình ảnh làm tệp đính kèm.Làm cách nào để chụp màn hình hiện tại dưới dạng hình ảnh?

Tôi đã đọc qua bài đăng này ScreenCapture về Dự án mã nhưng nó hơi cũ và không chính xác những gì tôi đang tìm kiếm nên tôi nghĩ tôi sẽ kiểm tra xem có cách nào tốt hơn để làm điều này không.

Tôi làm cách nào để bắt đầu điều này? Có một thư viện hoặc được xây dựng trong khả năng đủ?

Cảm ơn!

Trả lời

12

Bài đăng mà bạn đã liên kết là cách tiếp cận đúng, họ chỉ làm cho nó rất phức tạp. Bạn sẽ muốn sử dụng Graphics.CopyFromScreen.

Rectangle bounds = this.Bounds; 

using(Bitmap ss = new Bitmap(bounds.Width, bounds.Height)) 
using(Graphics g = Graphics.FromImage(ss)) 
{ 
    g.CopyFromScreen(this.Location, Point.Empty, bounds.Size); 
    ss.Save("test.jpg", ImageFormat.Jpeg); 
} 
+0

typo nhỏ -> Dòng 4 -> Graphics.FromImage (ss)) Sáng bóng! –

+0

@Mr_Mom: Cảm ơn, đã sửa. – Samuel

Các vấn đề liên quan