2

私は WPF から始めています。Winforms についてはかなりよく理解しています。

私がやりたいことは、イメージ タイルの束を取り、それらをつなぎ合わせて、イメージ コントロールに表示するより大きなイメージを作成することです。

Winformsで私はこれをします

Bitmap map = new Bitmap(800,800);
using (Graphics g=Graphics.FromImage(map))
{

    for (int x = 0; x<8; x++)
    for (int y = 0; y<8; y++)
    {
        g.DrawImage(bmp[x,y],x*100,y*100);
    } 
}

pictureBox1.Image=map;

これがコンパイルされるかどうかはテストしませんでしたが、私が要求していることの全体像を理解していただければ幸いです。

これを行う方法の基本的な理解を探しているだけなので、それを操作して理解することができます。

4

1 に答える 1

0

System.Drawing 名前空間を参照する

質問で説明されているとおりに、ビットマップに正確に描画します。

Bitmap map = new Bitmap(800,800);
using (Graphics g=Graphics.FromImage(map))
{

    for (int x = 0; x<8; x++)
    for (int y = 0; y<8; y++)
    {
        g.DrawImage(bmp[x,y],x*100,y*100);
    } 
}
Image.Source=ConvertBitmap(map);

次に、これを使用して Bitmap を BitmapSource に変換します

public static BitmapSource ConvertBitmap(System.Drawing.Bitmap source)
    {
        return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                      source.GetHbitmap(),
                      IntPtr.Zero,
                      Int32Rect.Empty,
                      System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
    }
于 2012-05-24T20:05:04.760 に答える