[英]Detecting when error image in PictureBox is used
我在谷歌上找到了這個, 點擊這里 ,有人問了一個類似的問題,收到一個回復,他們應該檢查他們的文件是否存在。 但是,我正在從Web鏈接加載圖像,如果A)找不到圖片或B)如果像Photobucket這樣的圖像托管服務顯示“超出帶寬”圖像,則會顯示錯誤圖像。 有沒有辦法檢測是否顯示錯誤圖像或圖像是否無效?
是的,LoadCompleted事件告訴您出了什么問題:
private void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e) {
if (e.Error != null) {
// You got the Error image, e.Error tells you why
}
}
也可能存在圖像加載正確完成但圖像文件本身出現問題的情況:
private void pictureBox1_Paint(object sender, PaintEventArgs e) {
if (pictureBox1.Image == pictureBox1.ErrorImage) {
// You got the Error image
}
}
此事件處理程序也捕獲加載錯誤,因此可能是您要使用的錯誤。
沒有像您希望的那樣檢查有效圖片的標准方法。 “超出帶寬”圖像是計算機眼中完全有效的圖像。
不過你可以嘗試一些技巧來濾除至少一些“錯誤”的圖像:
你看,那些語義黑名單除了完美之外還有其他所有東西,甚至可能更糟糕地過濾出好的圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.