2010-01-29 47 views
1

如何在將圖片添加到圖片框之前檢查C#System.Drawing.Bitmap圖片是否有效?如何在將圖片添加到圖片框之前檢查C#位圖是否有效

+0

什麼是圖像的來源?你是從文件/資源​​/流加載它嗎? – 2010-01-29 17:03:56

+0

請問您可以添加更多詳細信息,例如您從哪裏獲取位圖實例?從文件創建? – Gant 2010-01-29 17:03:58

+0

嗨!我從網上加載它!一個jpeg圖像!但有時候這是空的^^。 – slowkvant 2010-01-29 17:10:14

回答

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"); 
     } 
    } 
1

也許您應該在MSDN上檢查'System.Drawing.Bitmap'類的'RawFormat'屬性,如here所示。如果圖像爲空,則會引發異常,您可以在該情況下進行陷印。

2
  1. 定義 「有效」

  2. 寫valdation功能

  3. 調用它的圖像

  4. 如果通過

    上,加載圖像,否則不