Lập trình đồ họa trong C#

Lập trình đồ họa trong C# có vẻ dễ hơn hoặc khó hơn bạn nghĩ. Trong bài viết này, bạn sẽ học cách tạo đồ họa vector tuyệt đẹp theo lập trình. Cho dù bạn đang tạo đồ họa như một phần của dự án hiện tại hay làm nền tảng cho trò chơi hoặc ứng dụng của riêng bạn! Bạn sẽ học cách tạo hình ảnh đẹp một cách dễ dàng. Bắt đầu nào!

Các chủ đề sau sẽ được đề cập trong bài viết này:

  1. API lập trình đồ họa vectơ C#
  2. Cấu trúc của đồ họa vectơ
  3. Lập trình đồ họa bằng C#
  4. Đường cong trong lập trình đồ họa
  5. Đa giác và hình chữ nhật
  6. Cách vẽ đường
  7. Cách vẽ đường dẫn
  8. Vẽ vùng tô màu

API lập trình đồ họa C# Vector - Tải xuống miễn phí

Để tạo đồ họa vector tuyệt đẹp trong C#, chúng tôi sẽ sử dụng API Aspose.Drawing for .NET. Nó là một thư viện đồ họa 2D đa nền tảng để vẽ văn bản, hình học và hình ảnh theo lập trình. Nó cho phép tải, lưu và thao tác với các định dạng tệp được hỗ trợ.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Drawing

Cấu trúc của một đồ họa vector

Đồ họa vector được tạo thành từ các hình dạng hình học: đường thẳng, đường cong và đường dẫn. Các đối tượng này, với các thuộc tính khác nhau như chiều dài và màu sắc, có thể được điều khiển bằng chương trình C#.

Lập trình đồ họa bằng C#

Chúng ta có thể tô hoặc vẽ nhiều loại hình khác nhau bao gồm đường cong, đường thẳng, hình chữ nhật, vùng tô, hình elip và đa giác. API cung cấp nhiều phương pháp khác nhau để vẽ những hình dạng này. Chúng tôi có thể tạo nhiều loại đồ họa vector khác nhau theo lập trình bằng cách làm theo các bước dưới đây:

  1. Tạo một đối tượng của lớp Bitmap.
  2. Khởi tạo một đối tượng của lớp Graphics từ bitmap.
  3. Xác định đối tượng lớp Pen hoặc SolidBrush với các tham số mong muốn.
  4. Sử dụng (các) phương pháp dành riêng cho hình dạng của lớp Đồ họa để vẽ (các) hình dạng mong muốn.
  5. Cuối cùng, lưu hình ảnh.

Bây giờ, chúng ta hãy xem cách thực hiện các bước này trong C#.

Đường cong trong lập trình đồ họa sử dụng C#

Chúng ta có thể vẽ cung tròn, hình tròn, hình elip hoặc đường cong khép kín bằng cách sử dụng các phương pháp sau:

  • Phương thức DrawArc() để vẽ một cung tròn.
  • Phương thức DrawEllipse() để vẽ một hình elip.
  • Phương thức DrawClosedCurve() để vẽ một đường cong khép kín.
  • Phương thức DrawCurve() để vẽ một đường cong.

Vui lòng làm theo các bước dưới đây để vẽ một hình cong:

  1. Đầu tiên, tạo một thể hiện của lớp Bitmap.
  2. Tiếp theo, tạo đối tượng lớp Graphics bằng phương thức FromImage() từ đối tượng Bitmap mới được tạo.
  3. Sau đó, xác định một đối tượng lớp Pen với màu sắc và kích thước được chỉ định.
  4. Sau đó, gọi phương thức DrawClosedCurve() để vẽ một đường cong khép kín.
  5. Nếu muốn, hãy lặp lại các bước trên để thêm hình cung và hình elip.
  6. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức Save().

Mẫu mã sau đây cho thấy cách vẽ các hình dạng cong trong C#.

// Ví dụ mã này trình bày cách vẽ một đường cong, cung tròn và đường tròn khép kín.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Đồ họa ban đầu từ Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Xác định bút để vẽ
Pen penBlue = new Pen(Color.Blue, 4);

// Vẽ một đường cong
graphics.DrawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });

// Vẽ một vòng cung
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);

// Vẽ hình elip
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);

// Lưu bitmap dưới dạng PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
Đường cong trong lập trình đồ họa sử dụng C#

Đường cong trong lập trình đồ họa sử dụng C#

Đa giác và Hình chữ nhật trong Lập trình Đồ họa bằng C#

Chúng ta có thể vẽ đa giác và hình chữ nhật bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta cần sử dụng các phương pháp sau trong bước # 4:

  • Phương thức DrawPolygon() để vẽ một đa giác.
  • Phương thức DrawRectangle() để vẽ hình chữ nhật.

Mẫu mã sau đây cho thấy cách vẽ đa giác và hình chữ nhật trong C#.

// Ví dụ mã này trình bày cách vẽ Đa giác và Hình chữ nhật.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Đồ họa ban đầu từ Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Xác định bút để vẽ
Pen penBlue = new Pen(Color.Blue, 4);

// Vẽ một đa giác
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });

// Vẽ hình chữ nhật
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);

// Lưu bitmap dưới dạng PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Load-an-Image-in-Bitmap-using-CSharp

Tải hình ảnh trong Bitmap bằng C#

Các dòng trong lập trình đồ họa sử dụng C#

Tương tự, chúng ta có thể vẽ các đường bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta cần sử dụng phương thức DrawLine() trong bước # 4 để vẽ một đường thẳng.

Mẫu mã sau đây cho thấy cách vẽ các đường trong C#.

// Ví dụ mã này trình bày cách vẽ một Đường.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Đồ họa ban đầu từ Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Xác định bút để vẽ
Pen penBlue = new Pen(Color.Blue, 4);

// Vẽ các đường
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);

// Lưu bitmap dưới dạng PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Các dòng trong lập trình đồ họa sử dụng C#

Các dòng trong lập trình đồ họa sử dụng C#

Đường dẫn trong lập trình đồ họa sử dụng C#

Trong đồ họa vector, một đường dẫn đại diện cho một loạt các đường thẳng mượt mà được xác định bởi điểm đầu và điểm cuối, cùng với các điểm khác. Chúng ta có thể vẽ một đường dẫn bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một thể hiện của lớp Bitmap.
  2. Tiếp theo, khởi tạo đối tượng lớp Graphics từ đối tượng Bitmap mới được tạo bằng phương thức FromImage().
  3. Sau đó, xác định một đối tượng lớp Pen với màu sắc và kích thước được chỉ định.
  4. Tiếp theo, tạo một thể hiện của lớp GraphicsPath.
  5. Sau đó, thêm các dòng bằng phương thức AddLine().
  6. Sau đó, gọi phương thức DrawPath() với các đối tượng Pen và GraphicsPath.
  7. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức Save().

Mẫu mã sau đây cho thấy cách vẽ một đường dẫn trong C#.

// Ví dụ mã này trình bày cách vẽ một Đường dẫn.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Đồ họa ban đầu từ Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Xác định bút để vẽ
Pen penBlue = new Pen(Color.Blue, 4);

// Khởi tạo đường dẫn đồ họa
GraphicsPath path = new GraphicsPath();

// Thêm dòng 1
path.AddLine(100, 100, 1000, 400);

// Thêm dòng 2
path.AddLine(1000, 600, 300, 600);

// Thêm hình chữ nhật
path.AddRectangle(new Rectangle(500, 350, 200, 400));

// Thêm hình elip
path.AddEllipse(10, 250, 450, 300);

// Vẽ một con đường
graphics.DrawPath(pen, path);

// Lưu bitmap dưới dạng PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Đường dẫn trong lập trình đồ họa sử dụng C#

Đường dẫn trong lập trình đồ họa sử dụng C#

Điền Vùng trong Lập trình Đồ họa bằng C#

Chúng ta có thể vẽ một vùng tô bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một thể hiện của lớp Bitmap.
  2. Tiếp theo, khởi tạo đối tượng lớp Graphics từ đối tượng Bitmap mới được tạo bằng phương thức FromImage().
  3. Sau đó, tạo một thể hiện của lớp GraphicsPath.
  4. Trong khi đó, hãy thêm một đa giác bằng phương thức AddPolygon().
  5. Tiếp theo, tạo một thể hiện của lớp Vùng.
  6. Sau đó, thêm một đối tượng GraphicsPath khác và thêm một hình chữ nhật bằng phương thức AddRectangle().
  7. Tiếp theo, gọi phương thức Exclude() để loại trừ đường dẫn bên trong khỏi vùng.
  8. Sau đó, xác định một đối tượng lớp SolidBrush với màu được chỉ định.
  9. Sau đó, gọi phương thức FillRegion() với các đối tượng SolidBrush và GraphicsPath.
  10. Cuối cùng, lưu hình ảnh đầu ra bằng phương thức Save().

Mẫu mã sau đây cho thấy cách vẽ một vùng được điền trong C#.

// Ví dụ mã này trình bày cách vẽ một Vùng.
// Tạo một bản đồ bit
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Đồ họa ban đầu từ Bitmap
Graphics graphics = Graphics.FromImage(bitmap);

// Thêm một đa giác
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

// Khởi tạo một khu vực
Region region = new Region(path);

// Đường dẫn đồ họa bên trong
GraphicsPath innerPath = new GraphicsPath();

// Thêm hình chữ nhật
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

// Loại trừ đường dẫn bên trong
region.Exclude(innerPath);

// Xác định một bàn chải rắn
Brush brush = new SolidBrush(Color.Blue);

// Điền vào khu vực
graphics.FillRegion(brush, region);

// Lưu bitmap dưới dạng PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Điền Vùng trong Lập trình Đồ họa bằng C#

Điền Vùng trong Lập trình Đồ họa bằng C#

Nhận Giấy phép Tạm thời Miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử Aspose.Drawing cho .NET mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng tôi đã học cách:

  • tạo một bitmap mới;
  • vẽ hình chữ nhật, hình elip, v.v. trên bitmap;
  • vẽ đường và đường dẫn;
  • lưu hình ảnh Bitmap dưới dạng PNG trong C#.

Bên cạnh lập trình đồ họa trong C#, bạn có thể tìm hiểu thêm về Aspose.Drawing cho .NET bằng cách sử dụng tài liệu và khám phá các tính năng khác nhau được API hỗ trợ. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm