Cách thêm đồ họa vào ứng dụng C # Windows Form
Xem cách bạn có thể vẽ hình dạng, sử dụng màu sắc và hiển thị hình ảnh trong ứng dụng WinForms.
Windows Forms là một khuôn khổ cho phép bạn xây dựng các ứng dụng dành cho máy tính để bàn. Bạn có thể nhấp và kéo các thành phần như nút vào giao diện người dùng trực quan. Nó cũng giúp bạn tạo thủ công các hình dạng khác nhau trong mã của bạn.
Bài viết này sẽ hướng dẫn bạn cách thêm đường thẳng, hình dạng và hình ảnh vào ứng dụng của bạn. Hướng dẫn này sử dụng Visual Studio 2019 Community Edition để hiển thị các ví dụ.
Mục Lục
Các lớp tích hợp được sử dụng để vẽ đồ họa là gì?
Windows Forms sử dụng ngôn ngữ lập trình C #. Các lớp và phương thức tích hợp sẵn của nó cho phép bạn vẽ các hình dạng khác nhau lên canvas Windows Form. Chúng bao gồm các lớp Đồ họa, Bút, Màu và Bàn chải.
| Lớp | Sự miêu tả |
|---|---|
| Đồ họa | Lớp Graphics cho phép bạn vẽ các hình dạng và đường thẳng lên canvas. Nó bao gồm các phương pháp như:
|
| Cái bút | Lớp Pen cho phép bạn chỉ định các thuộc tính của đầu ‘bút’ mà bạn có thể sử dụng để vẽ các hình dạng của mình. Bạn có thể chỉ định các thuộc tính như màu sắc, độ dày hoặc kiểu dấu gạch ngang. Các phương pháp bao gồm:
|
| Màu sắc | Một đối tượng màu được tạo thành từ các giá trị R (đỏ), G (xanh lục) và B (xanh lam). Bạn sẽ cần một đối tượng màu cho nhiều phương thức tạo hình dạng có sẵn. |
| SolidBrush, HatchBrush, TextureBrush | Các lớp bàn chải này bắt nguồn từ giao diện “Bàn chải”. Các lớp này cho phép bạn tô màu vào các khoảng trống trên canvas. Bạn cũng có thể chọn để lấp đầy các khoảng trống bằng cách sử dụng các mẫu hoặc kết cấu khác nhau. Bạn có thể chỉ định các thuộc tính chẳng hạn như màu sắc. |
| Hình chữ nhật, Đường thẳng, Đa giác, Hình elip | Bạn có thể tạo các đối tượng dựa trên các hình dạng này và sử dụng chúng khi gọi các phương thức như DrawRectangle (). Thay vì chuyển x, y, width và height làm đối số, bạn có thể chọn chuyển một đối tượng Hình chữ nhật hiện có để thay thế. |
Để xem mã nguồn cho một ví dụ đang chạy của hướng dẫn trên, hãy truy cập kho lưu trữ GitHub. Bạn có thể thử các ví dụ sau khi đã tạo ứng dụng Winforms.
Cách thêm sơn trên trình xử lý sự kiện tải biểu mẫu
Đầu tiên, thêm một trình xử lý sự kiện để vẽ các hình dạng khi canvas tải.
- Thêm chức năng Paint cho biểu mẫu.
private void Form1_Paint(object sender, PaintEventArgs e)
{
// Code goes here
} - Đi tới Tab Chế độ xem Thiết kế.
- Trong cửa sổ Thuộc tính, chọn biểu tượng tia chớp để mở tab “Sự kiện”.
- Trong “Sơn”, dưới “Giao diện”, chọn chức năng Form1_Paint. Điều này sẽ thực thi chức năng khi bạn chạy ứng dụng.
Làm thế nào để vẽ các đường vào một Windows biểu mẫu Canvas
Bạn có thể sử dụng Color, Pen và phương thức DrawLine () để vẽ các đường trên canvas.
- Bên trong hàm Form1_Paint (), tạo một đối tượng Color với màu bạn muốn cho đường kẻ. Sau đó, tạo một đối tượng Pen để vẽ đường với.
Color black = Color.FromArgb(255, 0, 0, 0);
Pen blackPen = new Pen(black); - Phương thức DrawLine () từ lớp Graphics sẽ vẽ một đường thẳng bằng cách sử dụng bút. Thao tác này sẽ bắt đầu vẽ một đường từ vị trí x, y đến vị trí x, y khác.
e.Graphics.DrawLine(blackPen, 300, 200, 800, 200); - Bạn có thể sửa đổi các thuộc tính cho đối tượng bút để thay đổi chiều rộng, kiểu dấu gạch ngang và nắp đầu hoặc cuối.
blackPen.Width = 20;
blackPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
blackPen.StartCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
e.Graphics.DrawLine(blackPen, 300, 200, 800, 200); - Nhấn nút phát màu xanh lục ở đầu Visual Studio để xem các thay đổi.
Cách vẽ các hình dạng chẳng hạn như hình chữ nhật và hình tròn
Bạn có thể sử dụng các lớp hình dạng cho các hình dạng khác nhau hoặc vẽ hình dạng thủ công lên canvas.
- Tạo một đối tượng Màu và Bút như được hiển thị trong các bước trước. Sau đó, sử dụng phương thức DrawRectangle () để tạo hình chữ nhật. Các đối số là tọa độ x và y ở phía trên bên trái của hình chữ nhật, cùng với chiều rộng và chiều cao của nó.
Color red = Color.FromArgb(255, 255, 0, 0);
Pen redPen = new Pen(red);
redPen.Width = 5;
e.Graphics.DrawRectangle(redPen, 100, 100, 500, 200); - Bạn cũng có thể tạo một hình chữ nhật bằng Rectangle Class. Đầu tiên, tạo một đối tượng Rectangle. Các đối số cũng là tọa độ x và y cho góc trên cùng bên trái, chiều rộng và chiều cao.
Rectangle rectangle = new Rectangle(100, 350, 500, 200); - Sử dụng hàm DrawRectangle () để vẽ hình chữ nhật. Thay vì truyền x, y, width và height như trước đây, bạn có thể sử dụng đối tượng Rectangle để thay thế.
e.Graphics.DrawRectangle(redPen, rectangle); - Nhấn nút phát màu xanh lục ở đầu Visual Studio để xem các thay đổi.
- Quay lại mã để vẽ các hình dạng khác. Sử dụng hàm DrawEllipse () để vẽ một hình tròn.
Color green = Color.FromArgb(255, 0, 255, 0);
Pen greenPen = new Pen(green);
greenPen.Width = 5;
e.Graphics.DrawEllipse(greenPen, 400, 150, 400, 400);Khi bạn vẽ một đường tròn, tọa độ x và y (x = 400, y = 150) tham chiếu đến góc trên bên trái của đường tròn, không phải tâm của đường tròn.
- Để vẽ các hình dạng khác như hình tam giác hoặc hình lục giác, hãy sử dụng phương thức DrawPolygon (). Ở đây bạn có thể chỉ định một danh sách các tọa độ để biểu diễn các điểm của hình dạng.
Color blue = Color.FromArgb(255, 0, 0, 255);
Pen bluePen = new Pen(blue);
bluePen.Width = 5;
PointF[] coordinatesForTriangle = new PointF[] {
new PointF(400, 150),
new PointF(300, 300),
new PointF(500, 300)
};
e.Graphics.DrawPolygon(bluePen, coordinatesForTriangle);Phương thức DrawPolygon () sẽ vẽ các đường giữa các điểm được chỉ định.
Ở
Cách sử dụng lớp cọ để tô màu cho hình dạng
Bạn có thể sử dụng các phương thức FillRectangle (), FillEllipses () hoặc FillTriangle () để tạo các hình dạng có màu đồng nhất.
- Đầu tiên, tạo một đối tượng bàn chải.
Color purple = Color.FromArgb(255, 128, 0, 0);
SolidBrush solidBrush = new SolidBrush(purple); - Sử dụng các phương thức FillRectangle (), FillEllipses () hoặc FillTriangle (). Chúng hoạt động theo cách tương tự như các chức năng vẽ ở trên, ngoại trừ thay vì Pen, chúng sử dụng đối tượng Brush.
e.Graphics.FillRectangle(solidBrush, 50, 50, 200, 250);
e.Graphics.FillEllipse(solidBrush, 300, 50, 200, 200);
e.Graphics.FillPolygon(solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) }); - Bạn cũng có thể nhập trực tiếp một đối tượng hình dạng thay vì cung cấp tọa độ.
Rectangle rectangle = new Rectangle(100, 350, 500, 200);
e.Graphics.FillRectangle(solidBrush, rectangle); - Sử dụng HatchBrush để tô hình dạng bằng cách sử dụng kiểu tô khác, chẳng hạn như hình ngang hoặc dọc.
Color blue = Color.FromArgb(255, 0, 0, 255);
Color green = Color.FromArgb(255, 0, 255, 0);
HatchBrush hatchBrush = new HatchBrush(HatchStyle.Horizontal, green, blue);
e.Graphics.FillRectangle(hatchBrush, 50, 50, 200, 250); - Bạn có thể sử dụng TextureBrush để tô một hình dạng bằng cách sử dụng một hình ảnh. Tại đây, hãy tạo một bitmap bằng cách trỏ đến một tệp hình ảnh. Thay vì tạo một bàn chải bằng cách sử dụng màu sắc, hãy tạo nó bằng cách sử dụng hình ảnh.
Bitmap image = (Bitmap)Image.FromFile(@"C:UsersSharlDesktopflag.bmp", true);
TextureBrush textureBrush = new TextureBrush(image);
e.Graphics.FillRectangle(textureBrush, 100, 100, 500, 400);
Cách hiển thị hình ảnh vào biểu mẫu
Để kết xuất hình ảnh, hãy tạo một đối tượng điều khiển PictureBox và thêm nó vào biểu mẫu.
- Tạo đối tượng điều khiển PictureBox bằng tệp hình ảnh.
PictureBox picture = new PictureBox();
picture.ImageLocation = @"C:UsersSharlDesktopflagLarge.bmp"; - Đặt kích thước của hình ảnh và thêm nó vào biểu mẫu để nó hiển thị.
picture.SizeMode = PictureBoxSizeMode.AutoSize;
this.Controls.Add(picture); - Nhấn nút khởi động màu xanh lá cây ở trên cùng để xem hình ảnh.
Thêm nhiều hình dạng hơn vào biểu mẫu Windows của bạn
Bây giờ bạn sẽ hiểu cách thêm đường thẳng, hình dạng và hình ảnh vào biểu mẫu Windows của mình. Bạn có thể kết hợp các hình dạng để tạo ra hình dạng mới. Bạn cũng có thể sử dụng các chức năng tích hợp để tạo ra các hình dạng phức tạp hơn.
Đọc tiếp
Giới thiệu về tác giả