ホームページ > バックエンド開発 > C++ > C#/.NET で 2 つのイメージを簡単にマージする方法

C#/.NET で 2 つのイメージを簡単にマージする方法

Linda Hamilton
リリース: 2025-01-04 20:18:42
オリジナル
974 人が閲覧しました

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

C#/.NET で 2 つの画像を簡単に結合する

背景:

2 つの画像を結合することを想像してください: 1 つは 500x500 ピクセルにわたる中央が透明で、もう一方は 150x150 ピクセルです。目的は、500x500 のキャンバスを作成し、小さい画像をその中央に配置し、透明な領域から下の画像が見えるように大きい画像をオーバーレイすることです。この一見単純なタスクには、C# のガイドが必要な場合があります。

解決策:

C# には、画像操作のための多用途のクラスとメソッドが用意されています。 2 つのイメージをマージするには、次の手順を開始します。

  1. System.Drawing 名前空間から必要なオブジェクト (Image、Bitmap、Graphics) をインスタンス化します。
  2. イメージのプロパティを定義します (幅、高さ、ソース パス)。
  3. Image.FromFile() を使用して画像を取得します。
  4. 指定された幅と高さを使用してキャンバスを表すビットマップを作成します。
  5. ビットマップからグラフィックス オブジェクトを取得します。
  6. グラフィック補間モードを設定して、高精度を確保します。高品質の画像レンダリング。
  7. 宛先とソースを指定して、大きな画像をキャンバスに描画します。
  8. キャンバス内の希望の位置に小さいイメージを描画します。
  9. Bitmap.Save() メソッドを使用して、結合されたイメージを保存します。

コード例:

次の C# コード スニペットは、画像の結合を示しています。 process:

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#/.NET で 2 つの画像をシームレスに結合でき、視覚的に素晴らしいコンポジションを作成できるようになります。

以上がC#/.NET で 2 つのイメージを簡単にマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート