トップ回答者
複数 Bitmap の 連結

質問
回答
-
Graphics.FromImage() でGraphcisを取得して、今度は取得したGraphicsに対してDrawImage() します。
つまり
Bitmap b1 = new Bitmap( "B1.bmp" );
Bitmap b2 = new Bitmap( "B2.bmp" );
Bitmap b3 = new Bitmap( 2, 1 );
using( Graphics g3 = Graphics.FromImage( b3 ) ){
g3.DrawImage( b1, 0, 0 );
g3.DrawImage( b2, 1, 0 );
}
これでb3にb1+b2された画像が作成されます。
グラフィックス プログラミングについて も参考になります。- 回答としてマーク 丸中太郎 2009年12月19日 2:51
-
回答ありがとうございます。
2つの ビットマップファイルを 横に連結する 方法 として まとめてみました。
ビットマップの 大きさは 2つとも 1×1です。
フォームに ピクチャーボックスを 1つ いれて やってみました。
private void Form1_Paint(object sender, PaintEventArgs e)
{
Bitmap b1 = new( "B1.bmp" );
Bitmap b2 = new( "B2.bmp" );
Bitmap b3 = new( 2, 1 );
using( Graphics gg = Graphics.FromImage( b3 ) )
using( Graphics g1 = pictureBox1.CreateGraphics() )
{
gg.DrawImage( b1, 0, 0 );
gg.DrawImage( b2, 1, 0 );
g1.DrawImage( b3, 0, 0 );
}
}
以上 ありがとうございました。- 回答としてマーク 丸中太郎 2009年12月19日 2:51
すべての返信
-
フォームに ピクチャーボックスを 1つ いれて やってみました。
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics gg = pictureBox1.CreateGraphics();
Bitmap b1 = new( "B1.bmp" );
Bitmap b2 = new( "B2.bmp" );
gg.DrawImage( b1, 0, 0 );gg.DrawImage( b2, b1.Width, 0 );
}
ピクチャーボックスには 連結して表示されました。
しかし、グラフィック から イメージ へ 変換 できません。
Graphics を 使わずに Bitmap だけでは 連結できませんでしょうか? -
Graphics.FromImage() でGraphcisを取得して、今度は取得したGraphicsに対してDrawImage() します。
つまり
Bitmap b1 = new Bitmap( "B1.bmp" );
Bitmap b2 = new Bitmap( "B2.bmp" );
Bitmap b3 = new Bitmap( 2, 1 );
using( Graphics g3 = Graphics.FromImage( b3 ) ){
g3.DrawImage( b1, 0, 0 );
g3.DrawImage( b2, 1, 0 );
}
これでb3にb1+b2された画像が作成されます。
グラフィックス プログラミングについて も参考になります。- 回答としてマーク 丸中太郎 2009年12月19日 2:51
-
動的に画像を作成する方法として下記のページが参考になると思います。
http://dobon.net/vb/dotnet/graphics/createimage.html
b3 を元に Graphics を作り、b1 と b2 を DrawImage し、b3 を保存するような流れです。
なお、Bitmap コンストラクタに渡すサイズや DrawImage に渡す座標は、(基本的に)ピクセル単位です。枚数ではありませんので、b1 と b2 の Width/Height から適切な値を求めてください。
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。 -
回答ありがとうございます。
2つの ビットマップファイルを 横に連結する 方法 として まとめてみました。
ビットマップの 大きさは 2つとも 1×1です。
フォームに ピクチャーボックスを 1つ いれて やってみました。
private void Form1_Paint(object sender, PaintEventArgs e)
{
Bitmap b1 = new( "B1.bmp" );
Bitmap b2 = new( "B2.bmp" );
Bitmap b3 = new( 2, 1 );
using( Graphics gg = Graphics.FromImage( b3 ) )
using( Graphics g1 = pictureBox1.CreateGraphics() )
{
gg.DrawImage( b1, 0, 0 );
gg.DrawImage( b2, 1, 0 );
g1.DrawImage( b3, 0, 0 );
}
}
以上 ありがとうございました。- 回答としてマーク 丸中太郎 2009年12月19日 2:51
-