Я знаю, как сохранить GIF, это очень просто. Просто щелкните правой кнопкой мыши и сохраните. Вуаля! Но с этими новыми анимированными PNG я не имею ни малейшего сомнения. Без использования какого-либо скрэпа на экране, где я беру весь рабочий стол, я даже не уверен, что это возможно. Просто щелкните правой кнопкой мыши и сохраните результаты в одном PNG, который выглядит так, как будто это всего один кадр. Может быть, я не использую правильное программное обеспечение для просмотра анимированных PNG??? Я также перепробовал все "грабберные" программы, о которых могу подумать (Internet Download Manager, Video DownloadHelper, VSO Downloader и т.д.), И ни одна из них не обнаружила его.

3 ответа3

3

Это японский арт-сайт, вроде deviantart, который публикует мой друг, называется pixiv. Вот пример: https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65229638 - ПК Брэйдена

Эти анимации на Pixiv действительно составлены из отдельных изображений и анимированы с использованием JavaScript. (GIF плохо воспроизводит цвета, APNG плохо поддерживается как в браузерах, так и снаружи, Flash умирает, поэтому единственной хорошей альтернативой был бы тег <video>.)

Но существует множество сторонних инструментов для автоматической генерации файла GIF или WebM прямо с сайта, просто поищите « pixiv ugoira converter » для доступных на данный момент. (Текущий лучший результат - http://ugoira.dataprocessingclub.org/.)

Вы также можете напрямую получить ZIP-архив всех фреймов вместе со списком времени:

  • Используя браузер F12 Developer Console, откройте pixiv.context.ugokuIllustData или pixiv.context.ugokuIllustFullscreenData:

    (В качестве ярлыка location = pixiv.context.ugokuIllustData.src открывает файл напрямую.)

  • Использование модуля Python или Node для (полуофициального) Pixiv API:

    $ python3
    >>> import pixivpy3, pprint
    >>> api = pixivpy3.PixivAPI()
    >>> api.login(...)
    >>> data = api.works(65229638)
    >>> pprint.pprint(data["response"][0]["metadata"])
    {'frames': [{'delay_msec': 275}, {'delay_msec': 275},
                {'delay_msec': 275}, {'delay_msec': 275},
                ...
                {'delay_msec': 275}, {'delay_msec': 275}],
     'zip_urls': {'ugoira600x600': 'https://i.pximg.net/img-zip-ugoira/img/2017/10/01/23/13/36/65229638_ugoira600x600.zip'}}
    
2

Если вы можете щелкнуть правой кнопкой мыши на изображении и сохранить его, я ожидаю, что оно будет сохранено в том виде, в котором оно получено с веб-сайта. Так как вы сохранили один кадр, вы, вероятно, сохранили один кадр. Веб-сайт может использовать JavaScript для отображения нескольких изображений, по одному за раз, тем самым показывая анимацию. В этом случае щелчок правой кнопкой мыши в том месте, где отображаются изображения, может привести к сохранению только одного изображения (которое является текущим на момент сохранения).

В Mozilla Firefox щелкните правой кнопкой мыши фон страницы. Выберите "Просмотр информации о странице". Затем перейдите на вкладку Медиа. Если для разных кадров имеется несколько графических файлов, на вкладке "Мультимедиа" может отображаться каждая графика. Если это так, это довольно легко подтвердит подозрение в использовании JavaScript с использованием нескольких файлов.

1

Ваше упоминание о холсте очень наводит на мысль.

Однажды я немного поработал с кем-то под названием Canvas. По сути, это позволило веб-мастеру определить определенное количество места. Затем компьютерный программист может использовать команды JavaScript для отображения определенных визуальных эффектов (например, рисование линии) на экране.

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

Таким образом, если эта технология действительно используется, веб-браузер не имеет традиционных *.Файл PNG со всеми этими различными изображениями. Вместо этого отдельные изображения, которые вы видите, являются результатом некоторых команд JavaScript. (Веб-браузер, вероятно, не имеет встроенной в веб-браузер функции преобразования Canvas-компонента в PNG-файл).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .