Как выглядит анимированное изображение jpg? Насколько мне известно, формат jpg
не поддерживает анимацию.
Может ли jpg-изображение поддерживать анимацию?
Ответ 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