ファイルを開くダイアログを使用してウィンドウフォームでビットマップイメージを開く必要があります(ドライブからロードします)。画像は画像ボックスに収まるはずです。
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image(dlg.FileName);
}
dlg.Dispose();
}
ディスク上のファイルからイメージをロードする constructor overload を使用して、 Bitmap
class のインスタンスを作成する必要があります。あなたのコードは今書かれているので、あなたはPictureBox.Image
propertyまるでmethodのように。
コードを次のように変更します(手動でusing
メソッドを呼び出すのではなく、 Dispose
ステートメント を利用して適切に破棄する):
private void button1_Click(object sender, EventArgs e)
{
// Wrap the creation of the OpenFileDialog instance in a using statement,
// rather than manually calling the Dispose method to ensure proper disposal
using (OpenFileDialog dlg = new OpenFileDialog())
{
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox PictureBox1 = new PictureBox();
// Create a new Bitmap object from the picture file on disk,
// and assign that to the PictureBox.Image property
PictureBox1.Image = new Bitmap(dlg.FileName);
}
}
}
もちろん、作成したピクチャボックスコントロールがフォームに追加されていないため、フォーム上のどこにでもdisplay画像は表示されません。 Controls
method を使用して、作成したばかりの新しいピクチャボックスコントロールをフォームの Add
コレクション に追加する必要があります。上記のコードに追加された行に注意してください。
private void button1_Click(object sender, EventArgs e)
{
using (OpenFileDialog dlg = new OpenFileDialog())
{
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image = new Bitmap(dlg.FileName);
// Add the new control to its parent's controls collection
this.Controls.Add(PictureBox1);
}
}
}
正常に動作します。これを試して、
private void addImageButton_Click(object sender, EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
//For any other formats
of.Filter = "Image Files (*.bmp;*.jpg;*.jpeg,*.png)|*.BMP;*.JPG;*.JPEG;*.PNG";
if (of.ShowDialog() == DialogResult.OK)
{
pictureBox1.ImageLocation = of.FileName;
}
}
あなたがしようとする必要があります:
Dock
プロパティをFill
に設定します(フォームに画像を入力する場合)SizeMode
をStretchImage
に設定します最後に:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)|*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
{
PictureBox1.Image = Image.FromFile(dlg.Filename);
}
dlg.Dispose();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
pictureBox1.Image = Bitmap.FromFile(open.FileName);
}
また、PictureBox1.Image = Image.FromFile("<your ImagePath>" or <Dialog box result>);
のように試すこともできます
PictureBox.Imageはプロパティであり、メソッドではありません。次のように設定できます。
PictureBox1.Image = System.Drawing.Image.FromFile(dlg.FileName);
以下を試すことができます:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog fDialog = new OpenFileDialog();
fDialog.Title = "Select file to be upload";
fDialog.Filter = "All Files|*.*";
// fDialog.Filter = "PDF Files|*.pdf";
if (fDialog.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fDialog.FileName.ToString();
}
}
簡単です。追加するだけです:
PictureBox1.BackgroundImageLayout = ImageLayout.Zoom;