在 C# 中創建位圖

位圖用於創建和存儲計算機圖形。位圖圖像廣泛用於網頁和數字設備,如相機、智能手機等。最常見的位圖圖形文件類型是 BMPGIFPNG JPEG。在本文中,我們將學習如何在 C# 中創建位圖。

本文應涵蓋以下主題:

  1. 創建位圖的 C# API
  2. 創建新位圖
  3. 創建帶填充矩形的位圖
  4. 加載位圖中的圖像
  5. 調整現有圖像的大小
  6. 從 MemoryStream 創建位圖到文件

用於創建位圖的 C# API - 免費下載

要創建位圖,我們將使用 Aspose.Drawing for .NET API。它是一個跨平台的 2D 圖形庫,用於以編程方式繪製文本、幾何圖形和圖像。它允許加載、保存和操作支持的文件格式

下載 API 的 DLL 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Drawing

在 C# 中創建一個新的位圖

我們可以按照下面給出的步驟創建一個新的位圖:

  1. 首先,使用具有指定大小和格式的 Bitmap 類創建一個新位圖。
  2. 接下來,使用 FromImage() 方法從 Bitmap 對象創建一個新的 Graphics 對象。
  3. 然後,用指定的顏色和大小初始化一個 Pen 類對象。
  4. 之後調用DrawEllipse()方法繪製一個指定大小的橢圓。
  5. 最後,使用 Save() 方法保存輸出圖像。

下面的代碼示例顯示瞭如何在 C# 中創建新的位圖。

// 此代碼示例演示如何在 C# 中以編程方式創建新位圖。
// 初始化位圖對象
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// 創建一個新的圖形
Graphics graphics = Graphics.FromImage(bitmap);

// 初始化一支筆
Pen pen = new Pen(Color.Red, 5);

// 畫一個長方形
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// 保存文件
bitmap.Save(@"C:\Files\Drawings\output.png");
在 CSharp 中創建新位圖

在 C# 中創建一個新的位圖

創建帶填充矩形的位圖

我們可以按照下面給出的步驟繪製一個填充的矩形並將其保存在一個新的位圖中:

  1. 首先,使用具有指定大小的 Bitmap 類創建一個新位圖。
  2. 接下來,使用 FromImage() 方法從 Bitmap 對象創建一個新的 Graphics 對象。
  3. 然後,用指定的位置和大小初始化一個 Rectangle 類對象。
  4. 之後,使用畫筆顏色和矩形調用 FillRectangle() 方法。
  5. 最後,使用 Save() 方法保存輸出圖像。

下面的代碼示例展示瞭如何在 C# 中創建一個帶有填充矩形的新位圖。

// 此代碼示例演示如何在 C# 中創建帶有填充矩形的新位圖。
// 初始化指定大小的位圖
Bitmap bitmap = new Bitmap(500, 500);

// 創建一個新的圖形
Graphics graph = Graphics.FromImage(bitmap);

// 定義一個矩形
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// 畫一個填充的矩形
graph.FillRectangle(Brushes.Gray, ImageSize);

// 保存文件
bitmap.Save(@"C:\Files\Drawings\output.png");
創建帶填充矩形的位圖

創建帶填充矩形的位圖

使用 C# 在位圖中加載圖像

我們還可以按照以下步驟在位圖中加載現有圖像並將其另存為新位圖:

  1. 首先,使用 Bitmap 類加載圖像。
  2. 接下來,使用具有指定大小的 Bitmap 類創建一個新位圖。
  3. 然後,使用 FromImage() 方法從新創建的 Bitmap 對象創建一個新的 Graphics 對象。
  4. 之後,以圖像和位置坐標作為參數調用 DrawImage() 方法。
  5. 最後,使用 Save() 方法保存輸出圖像。

下面的代碼示例顯示瞭如何使用 C# 在位圖中加載圖像。

// 此代碼示例演示如何將圖像加載到位圖中並將其另存為新位圖。
// 加載圖像:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// 初始化指定大小的位圖
Bitmap bitmap = new Bitmap(1000, 1000);

// 創建一個新的圖形
Graphics graphics = Graphics.FromImage(bitmap);

// 在指定位置繪製圖像
graphics.DrawImage(image, 10, 10);

// 保存文件
bitmap.Save(@"C:\Files\Drawings\output.png");
使用 CSharp 加載位圖中的圖像

使用 C# 在位圖中加載圖像

使用 C# 調整現有圖像的大小

我們可以按照以下步驟在位圖中加載現有圖像並調整其大小並將其另存為新位圖:

  1. 使用 Bitmap 類加載現有圖像。
  2. 使用具有加載圖像和指定大小的 Bitmap 類創建新位圖。
  3. 最後,使用 Save() 方法保存輸出圖像。

以下代碼示例顯示如何調整現有圖像的大小並將其另存為 C# 中的新位圖。

// 此代碼示例演示如何在 C# 中創建調整現有圖像的大小並創建新的位圖。
// 加載圖像:
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// 創建一個大小為加載圖像一半的新位圖:
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// 保存文件
bitmap.Save(@"C:\Files\Drawings\output.jpg");
使用 CSharp 調整現有圖像的大小

使用 C# 調整現有圖像的大小

在 C# 中從 MemoryStream 創建一個位圖到一個文件中

我們可以按照以下步驟從內存流字節創建位圖:

  1. 將圖像文件讀入字節數組。
  2. 使用字節數組對象創建 MemoryStream 的新實例。
  3. 使用帶有 MemoryStream 對象的 Bitmap 類創建一個新的位圖。
  4. 最後,使用 Save() 方法保存圖像。

以下代碼示例顯示如何使用 C# 從 MemoryStream 保存位圖文件。

// 此代碼示例演示如何在 C# 中從內存流字節創建新位圖。
// 加載圖像並讀取所有字節
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// 創建內存流
MemoryStream stream = new MemoryStream(file);

// 創建一個新的位圖
Bitmap bitmap = new Bitmap(stream);

// 保存文件
bitmap.Save(@"C:\Files\Drawings\output.jpg");

獲得免費的臨時許可證

您可以獲得免費的臨時許可證 試用 Aspose.Drawing for .NET,沒有評估限制。

結論

在本文中,我們學習瞭如何:

  • 創建一個新的位圖;
  • 在位圖上繪製矩形、橢圓等;
  • 加載現有圖像;
  • 調整現有圖像的大小並創建具有新大小的新位圖;
  • 將 MemoryStream 或字節數組中的位圖圖像保存到文件中;
  • 在 C# 中設置位圖的寬度和高度。

除了在 C# 中創建新位圖外,您還可以使用 文檔 了解更多關於 Aspose.Drawing for .NET 的信息,並探索 API 支持的各種功能。如有任何疑問,請隨時在我們的 論壇 上與我們聯繫。

也可以看看