Что сделать прямо сейчас
- Скопируйте файл и работайте только с копией.
- Проверьте его, чтобы понять, какой чанк повреждён или был ли файл обрезан.
- Создайте исправленную копию; строки, которые нельзя декодировать, будут пропущены или заполнены.
Пошагово
Скопируйте файл
Оставьте оригинал без изменений. Если PNG был получен при восстановлении, также проверьте, нет ли другой восстановленной копии без повреждений.
Проверьте файл
В разделе Исправление повреждённых файлов выберите PNG. FileFix Ultimate проверит сигнатуру, чанк заголовка, CRC каждого чанка, сжатые данные изображения и маркер конца.
Изучите результаты
Ошибочный CRC во вспомогательном чанке, например с текстом или цветовым профилем, обычно безвреден и легко исправляется. Повреждение в чанках данных изображения затрагивает саму картинку.
Создайте исправленную копию
Исправление устраняет структурные проблемы, а если данные изображения повреждены, заново собирает изображение из строк, которые ещё можно декодировать.
Проверьте результат
Откройте исправленную копию. Если нижняя часть отсутствует, эта часть данных была потеряна и не может быть восстановлена.
Как повреждается PNG
PNG начинается с восьмибайтовой сигнатуры, за которой идут чанки: IHDR описывает размер и тип цвета, IDAT содержит сжатые пиксели, а IEND отмечает конец. Каждый чанк заканчивается контрольной суммой CRC, поэтому любое изменённое значение байта обнаруживается.
Поскольку пиксельные данные сжаты как единый поток через все чанки IDAT, повреждение в середине обычно ломает всё, что идёт после него. Строки до места повреждения декодируются правильно, поэтому частичное изображение часто можно сохранить. Инструменты, которые игнорируют эти контрольные суммы, могут всё равно показывать частично повреждённую картинку, поэтому разные просмотрщики могут по-разному оценивать один и тот же файл.
Частые причины
Прерванные загрузки и копирования обрезают файл. Передача в текстовом режиме, старая проблема некоторых FTP-клиентов, меняет байты окончаний строк и нарушает контрольные суммы. Отказывающие накопители и USB-накопители с поддельной ёмкостью повреждают данные на месте.
Скриншоты и графика, восстановленные после удаления, также могут быть повреждены, если часть их пространства была использована повторно. Проверка после восстановления показывает, какие из них декодируются полностью.
Когда это не сработает
- Отсутствующие или повреждённые пиксельные данные восстановить нельзя; сохраняется только декодируемая часть.
- Кадры Animated PNG после первого могут не сохраниться.
- Файл, у которого только расширение .png, но внутри находятся другие данные, не является PNG для исправления.
Как помогает FileFix Ultimate
- Проверяет каждый чанк и его CRC и сообщает точную позицию повреждения.
- Собирает частичное изображение из декодируемых строк, когда поток данных нарушен.
- Записывает новый PNG и оставляет оригинал без изменений.
- Декодирует восстановленные PNG-файлы, чтобы проверить их после восстановления удалённых файлов.
FileFix Ultimate бесплатен, работает офлайн и никогда не записывает данные на диск, с которого выполняется восстановление. Проверьте подпись перед запуском.
Частые вопросы
Можно ли открыть PNG с ошибкой CRC?
Некоторые просмотрщики игнорируют ошибки CRC и всё равно показывают изображение. Исправленная копия с корректными контрольными суммами открывается во всех таких просмотрщиках.
Почему у моего PNG видна только верхняя часть?
Сжатые данные оборвались в каком-то месте, и всё после него не удалось декодировать. Эта часть данных повреждена или отсутствует.
Исправление PNG выполняется без потерь?
Для строк, которые декодируются, да. PNG является форматом без потерь, поэтому исправленные пиксели идентичны исходным.
Можно ли преобразовать повреждённый PNG в JPEG, чтобы исправить его?
Для преобразования сначала нужно декодировать изображение, а это прерывается в том же месте. Сначала исправьте структуру PNG, затем преобразуйте исправленную копию, если нужен JPEG.