Я нашел это на Google, щелкните здесь, который кто-то задал подобному вопросу, получив ответ, который они должны проверить, существует ли их файл. Однако я загружаю изображения из ссылок на сайт, в которых это отображает ошибочное изображение если 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
}
}
Этот обработчик событий также обнаруживает ошибки загрузки так что может быть тот, который вы хотите использовать.
Не существует стандартного способа проверки правильности изображений, как вы хотели бы сделать. Изображение "Пропускная способность превышена" - вполне корректная картинка в глазах компьютера.
Тем не менее, вы можете попробовать некоторые приемы для отсеивания хотя бы нескольких "неправильных" изображений:
Видите ли, эти семантические черные списки не идеальны, возможно, даже хуже - они отфильтровывают хорошие изображения.