1

如何在将 C# System.Drawing.Bitmap图像添加到图片框之前检查它是否有效?

4

3 回答 3

3

这很简单。如果您可以在将图像分配给图片框之前加载图像,那么您已经充分证明该图像是有效的并且用户可以查看某些内容。GDI+ 图像解码器非常仔细地检查文件内容。因此:

    private void button1_Click(object sender, EventArgs e) {
        if (openFileDialog1.ShowDialog(this) != DialogResult.OK) return;
        try {
            Bitmap bmp = new Bitmap(openFileDialog1.FileName);
            if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
            pictureBox1.Image = bmp;
        }
        catch (Exception ex) {
            MessageBox.Show(ex.Message, "Could not load image");
        }
    }
于 2010-01-29T17:45:49.557 回答
3
  1. 定义“有效”

  2. 写一个验证函数

  3. 在图像上调用它

  4. 如果通过,则加载图像,否则不

于 2010-01-29T17:25:39.303 回答
2

也许您应该检查“System.Drawing.Bitmap”类的这个“RawFormat”属性,如MSDN 上所示。如果图像为空,则会引发异常,您可以在这种情况下捕获它。

于 2010-01-29T17:16:58.263 回答