Tạo Bitmap trong C#

Một bitmap được sử dụng để tạo và lưu trữ đồ họa máy tính. Hình ảnh bitmap được sử dụng rộng rãi trên các trang web và thiết bị kỹ thuật số như máy ảnh, điện thoại thông minh, v.v. Các loại tệp đồ họa bitmap phổ biến nhất là BMP, GIF, PNG JPEG. Trong bài này, chúng ta sẽ học cách tạo bitmap trong C#.

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

  1. C# API để tạo bitmap
  2. Tạo một bản đồ bit mới
  3. Tạo bản đồ bit với hình chữ nhật lấp đầy
  4. Tải hình ảnh dưới dạng bitmap
  5. Thay đổi kích thước hình ảnh hiện có
  6. Tạo một Bitmap từ MemoryStream thành một tệp

C# API để tạo bitmap - Tải xuống miễn phí

Để tạo một bitmap, 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

Tạo một Bitmap mới trong C#

Chúng tôi có thể tạo một bitmap mới bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một bitmap mới bằng cách sử dụng lớp Bitmap với kích thước và định dạng được chỉ định.
  2. Tiếp theo, tạo một đối tượng Graphics mới từ đối tượng Bitmap bằng phương thức FromImage().
  3. Sau đó, khởi tạo 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 DrawEllipse() để vẽ một hình Elip với kích thước được chỉ định.
  5. 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 tạo một bitmap mới trong C#.

// Ví dụ mã này trình bày cách tạo một bitmap mới theo chương trình trong C#.
// Khởi tạo đối tượng Bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Tạo một đồ họa mới
Graphics graphics = Graphics.FromImage(bitmap);

// Khởi tạo bút
Pen pen = new Pen(Color.Red, 5);

// Vẽ một hình chữ nhật
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// Lưu các tập tin
bitmap.Save(@"C:\Files\Drawings\output.png");
Tạo-a-mới-bitmap-trong-CSharp

Tạo một Bitmap mới trong C#

Tạo Bitmap với Hình chữ nhật được Làm đầy

Chúng ta có thể vẽ một hình chữ nhật được tô đầy và lưu nó trong một ảnh bitmap mới bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một bitmap mới bằng cách sử dụng lớp Bitmap với kích thước được chỉ định.
  2. Tiếp theo, tạo một đối tượng Graphics mới từ đối tượng Bitmap bằng phương thức FromImage().
  3. Sau đó, khởi tạo một đối tượng lớp Rectangle với vị trí và kích thước được chỉ định.
  4. Sau đó, gọi phương thức FillRectangle() với màu cọ và Hình chữ nhật.
  5. 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 tạo một bitmap mới với một hình chữ nhật được tô màu trong C#.

// Ví dụ mã này trình bày cách tạo một bitmap mới với hình chữ nhật được tô màu trong C#.
// Khởi tạo Bitmap với kích thước đặc biệt
Bitmap bitmap = new Bitmap(500, 500);

// Tạo một đồ họa mới
Graphics graph = Graphics.FromImage(bitmap);

// Xác định một hình chữ nhật
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// Vẽ một hình chữ nhật đầy
graph.FillRectangle(Brushes.Gray, ImageSize);

// Lưu các tập tin
bitmap.Save(@"C:\Files\Drawings\output.png");
Tạo-Bitmap-với-Hình chữ nhật được Làm đầy

Tạo Bitmap với Hình chữ nhật được Làm đầy

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

Chúng tôi cũng có thể tải một hình ảnh hiện có dưới dạng bitmap và lưu nó dưới dạng bitmap mới bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tải một hình ảnh bằng lớp Bitmap.
  2. Tiếp theo, tạo một bitmap mới bằng cách sử dụng lớp Bitmap với kích thước được chỉ định.
  3. Sau đó, tạo một đối tượng Graphics mới từ đối tượng Bitmap mới được tạo bằng phương thức FromImage().
  4. Sau đó, gọi phương thức DrawImage() với hình ảnh và tọa độ vị trí làm đối số.
  5. 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 tải một hình ảnh trong một bitmap bằng cách sử dụng C#.

// Ví dụ mã này trình bày cách tải một hình ảnh vào một bitmap và lưu dưới dạng một bitmap mới.
// Tải hình ảnh:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Khởi tạo Bitmap với kích thước đặc biệt
Bitmap bitmap = new Bitmap(1000, 1000);

// Tạo một đồ họa mới
Graphics graphics = Graphics.FromImage(bitmap);

// Vẽ hình ảnh tại vị trí được chỉ định
graphics.DrawImage(image, 10, 10);

// Lưu các tập tin
bitmap.Save(@"C:\Files\Drawings\output.png");
Load-an-Image-in-Bitmap-using-CSharp

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

Thay đổi kích thước hình ảnh hiện có bằng C#

Chúng tôi có thể tải và thay đổi kích thước hình ảnh hiện có trong một bitmap và lưu nó dưới dạng một bitmap mới bằng cách làm theo các bước dưới đây:

  1. Tải hình ảnh hiện có bằng lớp Bitmap.
  2. Tạo một bitmap mới bằng cách sử dụng lớp Bitmap với hình ảnh được tải và kích thước được chỉ định.
  3. 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 thay đổi kích thước hình ảnh hiện có và lưu nó dưới dạng bitmap mới trong C#.

// Ví dụ mã này trình bày cách tạo thay đổi kích thước một hình ảnh hiện có và tạo một bitmap mới trong C#.
// Tải hình ảnh:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Tạo một bitmap mới bằng một nửa kích thước của hình ảnh đã tải:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// Lưu các tập tin
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Thay đổi kích thước-Hiện tại-Hình ảnh-Sử dụng-CSharp

Thay đổi kích thước hình ảnh hiện có bằng C#

Tạo một Bitmap từ MemoryStream thành một tệp trong C#

Chúng ta có thể tạo một bitmap từ các byte dòng bộ nhớ bằng cách làm theo các bước dưới đây:

  1. Đọc tệp hình ảnh thành một mảng byte.
  2. Tạo một phiên bản mới của MemoryStream bằng cách sử dụng đối tượng mảng byte.
  3. Tạo một bitmap mới bằng cách sử dụng lớp Bitmap với đối tượng MemoryStream.
  4. Cuối cùng, lưu hình ảnh bằng phương thức Save().

Mẫu mã sau đây cho thấy cách lưu tệp bitmap từ MemoryStream bằng C#.

// Ví dụ mã này trình bày cách tạo một bitmap mới từ các byte dòng bộ nhớ trong C#.
// Tải hình ảnh và đọc tất cả các byte
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// Tạo dòng bộ nhớ
MemoryStream stream = new MemoryStream(file);

// Tạo một bitmap mới
Bitmap bitmap = new Bitmap(stream);

// Lưu các tập tin
bitmap.Save(@"C:\Files\Drawings\output.jpg");

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;
  • tải một hình ảnh hiện có;
  • thay đổi kích thước hình ảnh hiện có và tạo một ảnh bitmap mới với kích thước mới;
  • lưu một hình ảnh Bitmap từ MemoryStream hoặc mảng byte vào một tệp;
  • thiết lập chiều rộng và chiều cao của một bitmap trong C#.

Bên cạnh việc tạo bitmap mới 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 của chúng tôi.

Xem thêm