openFileDialogを使用してビットマップ画像を開き、フォームに配置しようとしています。私のフォームコンストラクター...
public Form1()
{
InitializeComponent();
drawing = new Bitmap(drawingPanel.Width, drawingPanel.Height, drawingPanel.CreateGraphics());
Graphics.FromImage(drawing).Clear(Color.White);
// set default value for line thickness
tbThickness.Text = "5";
}
...空白の画面で新しいフォームを開き、マウスとさまざまなカラーセレクタボタンを使用してそのフォームに描画できます。次に、次の方法でファイルを保存します。
private void btnSave_Click(object sender, EventArgs e)
{
// save drawing
if (file == null) // file is a FileInfo object that I want to use
// to check to see if the file already exists
// I haven't worked that out yet
{
drawing.Save("test.bmp");
//SaveBitmap saveForm = new SaveBitmap();
//saveForm.Show();
}
else
{
drawing.Save(fi.FullName);
}
}
イメージは.bmpファイルとしてデバッグフォルダに保存されます。次に、OpenFileDialogを使用してファイルを開きます。
private void btnOpen_Click(object sender, EventArgs e)
{
FileStream myStream;
OpenFileDialog openFile = new OpenFileDialog();
openFile.Filter = "bmp files (*.bmp)|*.bmp";
if (openFile.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = (FileStream)openFile.OpenFile()) != null)
{
using (myStream)
{
PictureBox picBox = new PictureBox();
picBox.Location = drawingPanel.Location;
picBox.Size = drawingPanel.Size;
picBox.Image = new Bitmap(openFile.FileName);
this.Controls.Add(picBox);
}
}
}
catch (Exception ex)
{
}
}
}
何が起こっているのかというと、OpenFileDialogボックスが表示されます。test.bmpファイルを選択すると、画面が消えてから再び表示されます。もう一度選択すると、OpenFileDialogウィンドウが消えて、画像のないフォームに戻ります。いくつかのポインタを期待していました。コンパイルエラーやランタイムエラーはありません。