Определите размеры изображения при съемке веб-страницы - PullRequest
0 голосов
/ 04 июня 2011

Я разработал почти все функциональные возможности для предварительного просмотра веб-страницы, как это делает Facebook. Я использую .net hhtprequest, а затем Html Agility Pack для анализа html и получения узлов и всего остального. Но когда дело доходит до поиска изображений, которые больше, чем, скажем, 100 пикселей, я пытаюсь получить атрибут width тега image, если нет, я получаю атрибут style и нахожу свойство width, но иногда ширина приходит из класса css и других раз нет информации о ширине. Как я могу заставить свой сервер загружать изображения и узнавать это. Но это также вызовет большую нагрузку на сервер, но любые выводы будут с благодарностью. Спасибо заранее

1 Ответ

2 голосов
/ 04 июня 2011

Вы можете загрузить изображение с URL:

  int width = 0;
  int height = 0;

  WebClient client = new WebClient();

  using(Stream stream = client.OpenRead(imageUrl))
  using(Image image = Image.FromStream(stream))
  {
    width = image.Width;
    height = image.Height;
  }

Недостатком является то, что вы делаете дополнительный HTTP-запрос для каждого изображения, с которым у вас нет измерений, заданных в HTML или CSS.

...