首頁 > 後端開發 > C++ > 如何在 C#/.NET 中輕鬆合併兩個影像?

如何在 C#/.NET 中輕鬆合併兩個影像?

Linda Hamilton
發布: 2025-01-04 20:18:42
原創
974 人瀏覽過

How to Effortlessly Merge Two Images in C#/.NET?

在C#/.NET 輕鬆合併兩個影像

背景:

設想合併兩個影像:一個背景:

設想合併兩個影像:一個背景:

設想跨越500x500 像素中心透明,另一個尺寸為150x150 像素。目標是創建一個 500x500 的畫布,將較小的圖像放置在中間,並覆蓋較大的圖像,以便透明區域顯示下面的圖像。這個看似簡單的任務可能需要一些 C# 指導。

  1. 解決方案:
  2. C# 提供了用於影像處理的多功能類別和方法。要合併兩個影像,我們開始執行以下步驟:
  3. 從 System.Drawing 命名空間實例化必要的物件:影像、點陣圖和圖形。
  4. 定義影像屬性 (寬度、高度、來源路徑)。
  5. 使用 Image.FromFile() 擷取影像方法。
  6. 使用指定的寬度和高度建立代表畫布的點陣圖。
  7. 從點陣圖中取得圖形物件。
  8. 設定圖形插值模式以確保高插值高品質影像渲染。
將較大的影像繪製到畫布上,指定目的地和來源矩形。

在畫布內的所需位置繪製較小的影像。

使用 Bitmap.Save() 方法儲存合併的影像。

using System.Drawing;

Image playbutton, frame;
try
{
    playbutton = Image.FromFile(/*larger image path*/);
    frame = Image.FromFile(/*smaller image path*/);
}
catch (Exception ex)
{
    return;
}

using (frame)
{
    using (var bitmap = new Bitmap(width, height))
    {
        using (var canvas = Graphics.FromImage(bitmap))
        {
            canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            canvas.DrawImage(frame, new Rectangle(0, 0, width, height), new Rectangle(0, 0, frame.Width, frame.Height), GraphicsUnit.Pixel);
            canvas.DrawImage(playbutton, (bitmap.Width / 2) - (playbutton.Width / 2), (bitmap.Height / 2) - (playbutton.Height / 2));
            canvas.Save();
        }
        try
        {
            bitmap.Save(/*merged image path*/, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        catch (Exception ex) { }
    }
}
登入後複製

程式碼範例:

以下C# 程式碼片段示範了影像合併過程:透過採用此方法,您可以在C#/.NET 中無縫合併兩個圖像,使您能夠創建視覺上令人驚嘆的作品。

以上是如何在 C#/.NET 中輕鬆合併兩個影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板