1. Trang chủ
  2. » Công Nghệ Thông Tin

Chụp màn hình bằng C#

4 1,5K 13
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chụp màn hình bằng C#
Chuyên ngành Lập trình
Thể loại Bài viết
Năm xuất bản 2008
Định dạng
Số trang 4
Dung lượng 69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cập nhật: 27/8/2008 với no comments Xếp trong: Lập trình, C# Bài viết này sẽ chỉ cho bạn một phương pháp rất đơn giản để chộp được ảnh màn hình về bằng cách sử dụng mã C# và lưu chúng và

Trang 1

Chụp màn hình bằng C#

Cập nhật: 27/8/2008 với no comments

Xếp trong: Lập trình, C#

Bài viết này sẽ chỉ cho bạn một phương pháp rất đơn giản để chộp được ảnh màn hình về bằng cách sử dụng mã C# và lưu chúng vào các file với các định dạng khác nhau như PNG, tất cả nhờ vào phương thức CopyFromScreen() Trên mạng cũng có một số bài viết

Bài viết này sẽ chỉ cho bạn một phương pháp rất đơn giản để chộp được ảnh màn hình về bằng cách sử dụng mã

C# và lưu chúng vào các file với các định dạng khác nhau như PNG, tất cả nhờ vào phương thức

CopyFromScreen()

Trên mạng cũng có một số bài viết chỉ cho bạn làm cách nào để chộp màn hình giống như việc chúng ta tạo và lưu vào

trong clipboard khi nhấn phím "PrintScreen" Tuy nhiên, bạn sẽ phát hiện ra rằng những bài viết này quá phức tạp

với một công việc hết sức đơn giản Trong bài viết này chúng ta sẽ thực hiện điều tương

tự mà những bài viết đó

làm, nhưng chỉ với một vài dòng mã nhờ có NET Framework, mà tôi sẽ hướng dẫn ở đây

là phương thức

CopyFromScreen().

Khởi động bằng việc tạo một project ứng dụng Windows trong Visual Studio Thêm vào

trên form một nút btnCapture và một điều khiển SaveFileDialog đặt tên là

saveScreenshot, dùng để nhắc người dùng lựa chọn nơi lưu trữ ảnh chụp được về.

Bây giờ, chúng ta chuyển sang chế độ mã và thêm vào câu lệnh using dưới đây:

view plain print ?

1 using System.Drawing.Imaging;

Trang 2

Ngoài ra, bên trong class ta khai báo thêm hai đối tượng mà chúng ta sẽ dùng nó để chộp

và lưu giữ hình ảnh

view plain print ?

1 private static Bitmap bmpScreenshot;

2 private static Graphics gfxScreenshot;

Nút btnCapture- là nơi mọi thứ xảy ra khi phát sinh sự kiện click Vì thế bên trong phần

thiết kế của Visual Studio, nhấn đúp chuột vào nút và sự kiện Click được tạo ra Trong

đó, chúng ta viết mã như sau:

view plain print ?

1 // If the user has chosen a path where to save the screenshot

2 if (saveScreenshot.ShowDialog() == DialogResult.OK)

3 {

4 // Hide the form so that it does not appear in the screenshot

5 this.Hide();

6 // Set the bitmap object to the size of the screen

7 bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.Pri maryScreen.Bounds.Height, PixelFormat.Format32bppArgb);

8 // Create a graphics object from the bitmap

9 gfxScreenshot = Graphics.FromImage(bmpScreenshot);

10 // Take the screenshot from the upper left corner to the right bottom corner

11 gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.Prim aryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperati on.SourceCopy);

12 // Save the screenshot to the specified path that the user has chosen

13 bmpScreenshot.Save(saveScreenshot.FileName, ImageFormat.Png);

14 // Show the form again

15 this.Show();

16 }

Như bạn thấy trong phần mã ở trên, việc đầu tiên chúng ta làm là hiển thị lên hộp thoại cho người dùng để người dùng lựa chọn đường dẫn muốn lưu lại các ảnh chụp được Tiếp theo chúng ta phải làm công việc ẩn form để nó không xuất hiện trong ảnh chộp về Sau

đó, chúng ta định nghĩa hai đối tượng đã khai báo trước đó với thông tin vè kích thước

Trang 3

ảnh/screenshot (là kích cỡ màn hình làm việc) Hình ảnh được chụp cụ thể là khi phương thức CopyFromScreen được gọi với các tham số tương ứng Tiếp đến đối tượng Bitmap lưu nó theo đường dẫn và định dạng đã được chỉ ra Chúng ta chọn PNG bởi vì đó là định dạng tốt nhất, tuy nhiên bạn có thể chọn những định dạng phổ biến khác như Bmp, gif, jpeg, tiff, vv

Đó là những gì cần thiết để cho bạn chụp màn hình và lưu lại hình ảnh trong NET Bạn

có thể xem toàn bộ mã nguồn trong file Form1.cs như ở đây:

view plain print ?

1 using System;

2 using System.Collections.Generic;

3 using System.ComponentModel;

4 using System.Data;

5 using System.Drawing;

6 using System.Text;

7 using System.Windows.Forms;

8 using System.Drawing.Imaging;

9 namespace ScreenshotCapturer

10 {

11 public partial class Form1 : Form

12 {

13 private static Bitmap bmpScreenshot;

14 private static Graphics gfxScreenshot;

15 public Form1()

16 {

17 InitializeComponent();

18 }

19 private void btnCapture_Click(object sender, EventArgs e)

20 {

21 // If the user has choosed a path where to save the screenshot

22 if (saveScreenshot.ShowDialog() == DialogResult.OK)

23 {

24 // Hide the form so that it does not appear in the screenshot

25 this.Hide();

26 // Set the bitmap object to the size of the screen

27 bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Sc reen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);

28 // Create a graphics object from the bitmap

29 gfxScreenshot = Graphics.FromImage(bmpScreenshot);

30 // Take the screenshot from the upper left corner to the right bottom cor ner

31 gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Scre en.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixel Operation.SourceCopy);

32 // Save the screenshot to the specified path that the user has chosen

Trang 4

33 bmpScreenshot.Save(saveScreenshot.FileName, ImageFormat.Png);

34 // Show the form again

35 this.Show();

36 }

37 }

38 }

39 }

Ngày đăng: 06/11/2013, 05:15

TỪ KHÓA LIÊN QUAN

w