Как восстанавливается изображение
Прозрачность GIF и полные кадры
Прозрачный цвет, частичные обновления и инструкции disposal вместе определяют каждый видимый момент. Разберите эти данные, чтобы отличить фон предпросмотра, ограничения источника и содержимое выходного PNG.
1. Что означает прозрачность GIF
Пиксели GIF используют индексы палитры. Один индекс может быть объявлен прозрачным, и такие пиксели не рисуются. Обычно это выбор между прозрачным и непрозрачным, в отличие от нескольких уровней alpha у PNG. Конвертация не создаёт полупрозрачные края, отсутствующие в оригинале, и не увеличивает исходное количество цветов.
При частичном обновлении прозрачный пиксель может оставить прежний экран видимым вместо его очистки. Поэтому прозрачность не означает стирание всего фона на каждом шаге. Если по краю есть сплошной ободок, проверьте, не смешал ли автор объект с определённым фоном ещё при создании GIF. PNG сохранит уже имеющиеся пиксели.
2. Зачем оптимизированные GIF используют патчи
Если изменяется только часть сцены, кодировщик может сохранить небольшой прямоугольник, экономя место. Он записывает размер и координаты, а остальная картинка зависит от прежнего состояния экрана. Патч — часть инструкции воспроизведения, а не обязательно самостоятельное изображение. Небольшой размер файла не исключает сложного восстановления последовательности.
Представьте предмет на неизменном фоне. Следующий блок может охватывать лишь область около предмета. Сохранение только блока меняет размер и теряет фон. GIF Splitter восстанавливает весь видимый экран в каждый момент, чтобы полученный PNG можно было отдельно открыть, использовать как иллюстрацию или передать в редактор без недостающих участков.
3. Прочитайте логический экран
Логический экран определяет ширину и высоту анимации. Отдельный блок бывает меньше и имеет собственное положение слева и сверху. Полный выход должен соответствовать экрану, а не только патчу. Сравнивайте размеры результатов с PNG; визуальная величина миниатюры на странице не определяет разрешение сохранённого файла.
Правильное совмещение требует координат, подходящей глобальной либо локальной палитры и прозрачного индекса. Игнорирование положения сдвигает объект, игнорирование локальной палитры меняет цвета. Увеличение или повторное сжатие PNG это не исправит. Сначала определите, сравниваете ли вы сырые данные блока или восстановленное видимое состояние.
4. Disposal 2 очищает область
Метод disposal 2 задаёт очистку прямоугольника после показа текущего кадра для подготовки следующего. Он не требует всегда очищать весь экран и не должен удалять картинку до экспорта текущего PNG. Обработка фона зависит от данных GIF; нельзя считать, что любое применение метода превращает область в белый цвет.
Управляемый пример 3 × 1 начинает с красного экрана, добавляет зелёный центр, затем синий пиксель справа. Для метода 2 конечное состояние — красный, прозрачный, синий. Проследите, когда исчезает зелёный. Последовательное сравнение показывает разницу между показом и очисткой лучше, чем отдельно взятое изображение без контекста.
5. Disposal 3 восстанавливает прежнее состояние
Disposal 3 возвращает экран к состоянию непосредственно перед рисованием текущего кадра. Это не простое копирование предыдущего PNG и не очистка всей сцены. Для восстановления нужно сохранить необходимые данные перед нанесением временного изображения. Иначе наложение может ошибочно остаться в следующих кадрах или удалить элементы, которые должны были вернуться.
В том же примере 3 × 1 зелёное наложение исчезает, а красный под ним восстанавливается. Итог метода 3 — красный, красный, синий, в отличие от красного, прозрачного, синего для метода 2. Так видно различие между очисткой области и возвратом существовавшего под ней содержимого.
6. Сравните патчи и полные кадры
Сырой патч полезен для изучения кодирования, полный кадр — для неподвижной картинки. Их размеры и состав могут отличаться, оставаясь правильными для своих задач. PNG извлекателя включает пиксели, которые нужно сохранять с прежних шагов, а не только изменения последнего блока. Не используйте один вид данных как безусловный эталон другого.
Сопоставляйте полный PNG с тем же моментом оригинальной анимации. Результат извлечения прямоугольника не является единственным доказательством правильности композиции. Необычные файлы могут также по-разному обрабатываться проигрывателями. Для сообщения о различии полезны номер кадра, координаты, прозрачность и disposal, когда эта информация доступна.
7. Проверьте PNG на разных фонах
Шахматный фон предпросмотра не сохраняется в PNG. Положите скачанную картинку на белый, чёрный и яркий фон, чтобы отделить прозрачные пиксели от действительно белых или тёмных. Просмотр только на белом способен скрыть различие. Эта проверка также помогает обнаружить цветной ореол, который уже присутствует в исходных данных.
Если шахматный узор виден в самой картинке, возможно, он был нарисован в GIF. Край, заранее смешанный с фоном, не исчезнет от смены формата. Палитра и прозрачность источника ограничены. Для плавного alpha потребуется оригинальная графика или новый подходящий экспорт, а не многократная конвертация одних и тех же потерянных данных.
8. Выберите подходящее исправление
Если композиция соответствует прозрачным данным, выберите нужный фон в следующем редакторе. Уже существующий сплошной фон, недостаток цветов и неровные края исправляют в источнике. Удаление целого цвета может уничтожить нужные детали внутри объекта. Вырезание патчей не заменяет полное восстановление и иногда мешает выяснить причину.
При воспроизводимых сдвигах или следах в допустимом GIF проверьте целостность и ограничения по руководству устранения проблем, затем укажите точное место ошибки. Различие проигрывателей само по себе не доказывает дефект. Сохраняйте источник и отделяйте композицию от визуализации до изменения пикселей, которые могут быть правильными.
Практические руководства по GIF
Как выбрать изображение, проверить прозрачность и время показа и учесть ограничения браузера при экспорте.
- Как разделить GIF на кадры и сохранить PNG
Пошаговая инструкция: сохранить один кадр из гифки, извлечь все кадры в PNG и скачать ZIP. Прозрачность, длительность кадров и ограничения размера.
- Задержки кадров и время предпросмотра GIF
Разберитесь с исходными задержками и предпросмотром на примере 0, 10, 20 и 80 мс и сохраните время для последовательности PNG.
- Решение проблем извлечения GIF и ZIP
Проверьте этап ошибки, формат, память и экспорт: ограничения 30 MiB, 1 000 кадров, размеры, пиксели и данные PNG в ZIP.