ホームページ > バックエンド開発 > C++ > C#/.NET で画像をシームレスに結合するにはどうすればよいですか?

C#/.NET で画像をシームレスに結合するにはどうすればよいですか?

DDD
リリース: 2025-01-04 10:31:35
オリジナル
788 人が閲覧しました

How to Seamlessly Combine Images in C#/.NET?

C#/.NET で画像をシームレスに結合する

画像を強化したり、視覚的に魅力的な構成を作成したりするには、多くの場合、別々の画像を結合する必要があります。 C# では、このプロセスは .NET Framework で利用可能な強力なクラスとオブジェクトを使用することで簡単です。

2 つの画像 (透明な 500x500 画像と 150x150 画像) を結合するタスクを考えてみましょう。目標は、大きい画像の透明な部分によってその下に小さい画像が表示される新しい画像を作成することです。

これを C# で実行するには、次の手順を使用します。

  1. 画像をロードします: Image.FromFile() を使用して、両方の画像を対応する Image オブジェクトにロードします。
  2. 空のキャンバスの作成: マージされたイメージのキャンバスとして機能する、希望のサイズ (500x500) の新しいビットマップ オブジェクトを作成します。
  3. より大きな画像を描画します: Graphics.FromImage() メソッドを使用して、キャンバスに関連付けられた Graphics オブジェクトを作成します。 DrawImage() メソッドを使用して、大きい画像 (500x500) をキャンバスに描画します。
  4. 小さい画像を描画します: 提供されたメソッドを使用して、小さい画像 (150x150) をキャンバスの中央に配置します。品質のための InterpolationMode。 DrawImage() メソッドを使用して、小さいイメージをキャンバス上の希望の位置に描画します。
  5. 結合したイメージを保存します: 2 つのイメージをキャンバスに描画したら、結果のイメージを保存します。 Save() メソッドを使用して、目的のファイルの場所にコピーします。

マージを示すコード サンプルは次のとおりです。 process:

Image playbutton, frame;

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

using (frame)
{
    using (var bitmap = new Bitmap(500, 500))
    {
        using (var canvas = Graphics.FromImage(bitmap))
        {
            // set desired interpolation mode
            canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;

            canvas.DrawImage(frame, 0, 0, frame.Width, frame.Height);

            canvas.DrawImage(playbutton, (bitmap.Width / 2) - (playbutton.Width / 2), (bitmap.Height / 2) - (playbutton.Height / 2));
        }

        try
        {
            bitmap.Save(/*desired save path*/, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        catch (Exception ex) { } // handle exceptions gracefully
    }
}
ログイン後にコピー

これらの手順に従い、提供されたコード サンプルを利用すると、C#/.NET で画像を簡単に結合でき、視覚的に魅力的なコンポジションを作成できます。

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

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