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

Может ли jpg-изображение поддерживать анимацию?

jpeg image

Как выглядит анимированное изображение jpg? Насколько мне известно, формат jpg не поддерживает анимацию.

4b9b3361

Ответ 1

Нет, формат файла JPEG не имеет неотъемлемой поддержки для анимации.

Связанное изображение на самом деле представляет собой анимированный GIF, замаскированный с расширением файла jpg. (Очевидно, что браузер игнорирует даже тип MIME и в таких случаях просматривает байты заголовка файла.)

Ответ 2

Если вы просматриваете изображение в firefox, вы можете щелкнуть его правой кнопкой мыши и выбрать свойства:

Вы увидите Type: GIF image (animated, 54 frames)

Таким образом, это gif-образ, который был переименован в .jpg.

Ответ 3

Для полноты я хотел бы указать, что там Motion-JPEG - вид анимации jpg.

MJPEG, обычно созданные веб-камерами, представляют собой поток файлов JPEG, объединенных друг с другом, один за другим, иногда разделенных HTTP-заголовком и обслуживаемых веб-камерами-web-серверами с MIME-типом multipart/x-mixed-replace; граница =, где граница = определяет разделитель.

Поиск проектов, связанных с анимированными JPEG в github приводит к двум выводам:

  • Если люди интересуются размером анимированного GIF, они делят его на отдельные фреймы JPG и сообщают обозревателю обменивать эти фреймы на месте с помощью некоторого кода JavaScript. Для пример. (Pawel)

  • Тогда на самом деле существует предлагаемый Анимированный JPEG стандарт, который связан с MJPEG и объявляет частоту кадров и т.д. в каждом кадре JPG. Невозможно прибыть в браузеры в ближайшее время.

И, наконец, я видел, как имидж-хостеры заменяли большие анимированные GIF версии mp4 для GIF для презентации, а также некоторые Javascript для обслуживания реального GIF для загружаемых/не поддерживаемых браузеров.

И нет, сам JPEG через JFIF не предлагает средства для анимирования файла JPG сам по себе, так же как Noldorin уже отмечен в выбранном ответе,: Пожимают плечами:

Ответ 4

Это изображение GIF... расширение было изменено вручную. Механизм браузера достаточно умен, чтобы определять формат изображения независимо от расширения файла.

Ответ 5

var c = 1;

/* Preloading images */
var image1 = new Image();
image1.src = "a1.jpg";
var image2 = new Image();
image2.src = "a2.jpg";
var image3 = new Image();
image3.src = "a3.jpg";
var image4 = new Image();
image4.src = "a4.jpg";
var image5 = new Image();
image5.src = "a5.jpg";

function disp_img(w)
   {
   if (c == 6)
      {
      c = 1;
      }
   var img_src = "a" + c + ".jpg";
   document.ani.src = img_src;
   c++;
   }
t = setInterval("disp_img(c)", 1000);

Ответ 6

Да, вы можете сделать анимацию с помощью одного jpeg. Google "jpeg css спрайты". Конечно, это не будет поддержка родной анимации в формате jpeg.

Ответ 7

Если вы откроете этот файл как двоичный (в текстовом редакторе), вы увидите, что первая строка содержит GIF89add˜| Что такое магическое число для GIF.

Ответ 8

Немного некропост, но так как этот вопрос возник первым, когда я попытался получить информацию о пиксельном движении jpeg, вот дополнительная информация.

Начиная с Pixel2, Google создал motion jpeg, который является обычным jpeg, в конце которого есть видео mp4. Подробнее об этом здесь:

https://android.jlelse.eu/working-with-motion-photos-da0aa49b50c