|
やじゅ様、くり太郎様、PATIO様、ご回答ありがとうございます。 皆様のご意見を参考に、以下のように処理を変更することで望んでいた通り処理がスムーズになりました。
/* 初期処理 */ //マップサイズに合わせたBitmap変数を作成 map = new Bitmap(100 * 16, 100 * 16); //BitmapからGraphicクラスの作成 g = Graphics.FromImage(map); //マップ画像の作成 for (int xi = 0; xi < 100; xi++) for (int yi = 0; yi < 100; yi++) g.DrawImage(img, GetChipPos(xi, yi), GetChipRect(data[(int)xi, (int)yi, 0]), GraphicsUnit.Pixel);
/* paint関数 */ pictureBox1.Width = (int)(100.0 * 16.0 * zoom); pictureBox1.Height = (int)(100.0 * 16.0 * zoom); e.Graphics.DrawImage(map, 0, 0, pictureBox1.Width, pictureBox1.Height);
なぜ、Graphic変数"g"に描画しているのに実際にpictureBoxに描画する際にはBitmap変数"map"を指定するだけでいいのかが分かりませんが。 しかしとりあえずこれで問題は解決できました。皆様ありがとうございました。
上の方法でも何か問題があればご指摘くださるとありがたいです。
|