我正在制作一个Windows窗体应用程序,用于从PC中选择图像,然后使用文件路径在pictureBox1
中显示图像。
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = openFileDialog1.FileName;
pictureBox1.ImageLocation = openFileDialog1.FileName;
}
}
现在我想将图像的尺寸(以像素为单位)放在另一个文本框中。
这可能就像我这样做吗?
答案 0 :(得分:3)
我不认为在使用ImageLocation
设置图像时可以获得大小(因为PictureBox处理内部加载)。尝试使用Image.FromFile
加载图片,并使用Width
和Height
属性。
var image = Image.FromFile(openFileDialog1.FileName);
pictureBox1.Image = image;
// Now use image.Width and image.Height
答案 1 :(得分:1)
试试这个
System.Drawing.Image img = System.Drawing.Image.FromFile(openFileDialog1.FileName);
MessageBox.Show("Width: " + img.Width + ", Height: " + img.Height);
答案 2 :(得分:1)
使用Image.FromFile
方法
Image image = Image.FromFile(openFileDialog1.FileName);
将image
放入pictureBox1
pictureBox1.Image = image;
您需要的是System.Drawing.Image
课程。图像的大小在image.Size
属性中。但是,如果您想分别获得Width
和Height
,则可以分别使用image.Width
和image.Height
然后在您的其他TextBox
(假设名称为textBox2
)您可以简单地指定Text
属性,
textBox2.Text = "Width: " + image.Width.ToString() + ", Height: " + image.Height.ToString();
完整代码:
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = openFileDialog1.FileName;
Image image = Image.FromFile(openFileDialog1.FileName);
pictureBox1.Image = image; //simply put the image here!
textBox2.Text = "Width: " + image.Width.ToString() + ", Height: " + image.Height.ToString();
}
}