Подтвердить что ты не робот

Быстрый способ получить удаленные размеры изображения

Я использую драгоценный камень изображения, чтобы проверить размеры удаленных изображений, а затем просто нажимать изображения, которые достаточно значительны для массива.

require 'open-uri'
require 'image_size'
data = Nokogiri::HTML(open(url))
images = []
forcenocache = Time.now.to_i # No cache because jquery load event doesn't fire for cached images
data.css("img").each do |image|
  image_path = URI.join(site, URI.encode(image[:src]))
  open(image_path, "rb") do |fh|
    image_size = ImageSize.new(fh.read).get_size()
    unless image_size[0] < 200 || image_size[1] < 100
      image_element = "<img src=\"#{image_path}?#{forcenocache}\">"
      images.push(image_element)
    end
  end
end

Я попробовал использовать JS на интерфейсе для проверки размеров изображения, но, похоже, ограничение на браузер ограничивается тем, сколько изображений может быть загружено сразу.

Выполнение этого с помощью изображения намного медленнее, чем использование JS. Какие-нибудь лучшие и быстрые способы сделать это?

4b9b3361

Ответ 1

Я думаю, что этот камень делает то, что вы хотите https://github.com/sdsykes/fastimage

FastImage находит размер или тип с учетом его uri, немного по мере необходимости