ホームページ > バックエンド開発 > C++ > C#/.NET で 2 つのイメージを結合するにはどうすればよいですか?

C#/.NET で 2 つのイメージを結合するにはどうすればよいですか?

DDD
リリース: 2025-01-04 12:50:44
オリジナル
441 人が閲覧しました

How Can I Merge Two Images in C#/.NET?

C#/.NET での画像の結合: 実践的な例

500x500 の透明な画像と 150x150 の画像という 2 つの画像があります。単一の 500x500 キャンバスに結合したいとします。 System.Drawing ライブラリを使用した C# での段階的なソリューションを次に示します。

ステップ 1: 画像を読み込む

using System.Drawing;

Image background = Image.FromFile("background.png");
Image overlay = Image.FromFile("overlay.png");
ログイン後にコピー

ステップ 2:新しいビットマップを作成する(キャンバス)

int width = 500;
int height = 500;

using var bitmap = new Bitmap(width, height);
ログイン後にコピー

ステップ 3: 背景画像を描画

using var canvas = Graphics.FromImage(bitmap);

canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
canvas.DrawImage(background,
                 new Rectangle(0,
                               0,
                               width,
                               height),
                 new Rectangle(0,
                               0,
                               background.Width,
                               background.Height),
                 GraphicsUnit.Pixel);
ログイン後にコピー

ステップ 4: オーバーレイ位置を計算する

int x = (bitmap.Width / 2) - (overlay.Width / 2);
int y = (bitmap.Height / 2) - (overlay.Height / 2);
ログイン後にコピー

ステップ 5:オーバーレイ画像を描画します

canvas.DrawImage(overlay,
                 new Rectangle(x,
                               y,
                               overlay.Width,
                               overlay.Height));
ログイン後にコピー

ステップ 6: 結合した画像を保存します

bitmap.Save("merged.png");
ログイン後にコピー

追加のヒント:

    オーバーレイ画像の透明度は、 Color.FromArgb() メソッド。
  • 結合する前にオーバーレイ画像のサイズを変更したい場合は、Image.Scale() メソッドを使用します。
  • x 変数と y 変数を操作することで、キャンバス上のオーバーレイ画像の位置

以上がC#/.NET で 2 つのイメージを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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