获取图像的大小

时间:2015-12-27 17:11:04

标签: c# image visual-studio

我正在制作一个Windows窗体应用程序,用于从PC中选择图像,然后使用文件路径在pictureBox1中显示图像。

private void button1_Click(object sender, EventArgs e)
{
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        textBox1.Text = openFileDialog1.FileName;
        pictureBox1.ImageLocation = openFileDialog1.FileName;
    }
}

现在我想将图像的尺寸(以像素为单位)放在另一个文本框中。

这可能就像我这样做吗?

3 个答案:

答案 0 :(得分:3)

我不认为在使用ImageLocation设置图像时可以获得大小(因为PictureBox处理内部加载)。尝试使用Image.FromFile加载图片,并使用WidthHeight属性。

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属性中。但是,如果您想分别获得WidthHeight,则可以分别使用image.Widthimage.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();
    }
}