Перейти к содержанию
Назад к блогу
устранение неполадок
26 февраля 2026 г.
GuruPDF Team
Время чтения: 15 мин.

Почему конвертация изображений не работает на вашем компьютере (и как исправить каждую ошибку)

HEIC не открывается? ImageMagick выдаёт «no decode delegate»? Python Pillow падает на RGBA? В этом руководстве собраны все распространённые ошибки конвертации изображений в Windows, macOS и Linux — с реальными кодами ошибок, объяснениями и самым простым решением.

Конвертация изображений между форматами звучит так, будто это должно быть просто — достаточно поменять расширение, верно? На деле тысячи пользователей ежедневно сталкиваются с загадочными ошибками, повреждёнными результатами и сбоями программ при попытке конвертировать изображения на своих локальных компьютерах. В то же время онлайн-инструменты вроде GuruPDF выполняют те же самые конвертации безупречно за считанные секунды.

В этой статье мы подробно разберём самые распространённые ошибки конвертации изображений, с которыми сталкиваются пользователи Windows, macOS и Linux, объясним, почему они возникают, и покажем, как полностью их избежать.

Самые распространённые форматы изображений (и почему они не всегда «дружат» между собой)

Прежде чем перейти к ошибкам, давайте разберём форматы, которые чаще всего создают проблемы:

Format Full Name Compression Transparency Typical Use
JPG/JPEG Joint Photographic Experts Group Lossy No Фотографии, изображения для веба
PNG Portable Network Graphics Lossless Yes Скриншоты, логотипы, графика
WebP Web Picture Both Yes Современная оптимизация для веба
HEIC/HEIF High Efficiency Image Container Lossy/Lossless Yes Фото с iPhone/iPad (iOS 11+)
AVIF AV1 Image File Format Lossy/Lossless Yes Веб-формат нового поколения
SVG Scalable Vector Graphics N/A (vector) Yes Иконки, иллюстрации, логотипы
TIFF Tagged Image File Format Lossless Yes Печать, сканирование, архивирование
BMP Bitmap None No Устаревший формат Windows
GIF Graphics Interchange Format Lossless 1-bit Анимации, простая графика
EPS Encapsulated PostScript N/A (vector) No Полиграфический дизайн, профессиональная графика
DJVU DjVu Lossy No Отсканированные документы, книги

В чём проблема? Большинство операционных систем и встроенных инструментов «из коробки» поддерживают лишь небольшую часть этих форматов. Именно здесь и начинаются ошибки.

Ошибка #1: "Windows Photo Viewer Can't Open This Picture" (HEIC/AVIF/WebP)

Коды и сообщения об ошибках, которые вы можете увидеть:

"Windows Photo Viewer can't open this picture because either Photo Viewer
doesn't support this file format, or you don't have the latest updates."
"It looks like we don't support this file format."
— Microsoft Photos app
"0xc00d5212: This item was encoded in a format that's not supported."

Почему это происходит: Windows 10/11 не поддерживает HEIC (формат фотографий iPhone по умолчанию начиная с iOS 11) или AVIF на уровне системы. Нужно установить «HEIF Image Extensions» ($0.99) и «AV1 Video Extensions» из Microsoft Store. Поддержка WebP появилась только в Windows 10 версии 1809 и выше.

Попытка локального решения: установить кодек-паки, использовать сторонние просмотрщики или попробовать инструменты командной строки вроде ImageMagick:

bash
magick convert input.heic output.jpg

Но ImageMagick требует установки дополнительных delegate-библиотек (libheif, libde265), что часто заканчивается ошибками:

convert: delegate failed `"dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1911.
convert: no decode delegate for this image format `HEIC' @ error/constitute.c/ReadImage/746.

Простое решение: загрузите свои файлы HEIC, AVIF или WebP в GuruPDF и конвертируйте их в JPG или PNG одним кликом — без кодеков, без установок, без ошибок.

Ошибка #2: "No Decode Delegate" — в ImageMagick нет нужных кодеков

Полное сообщение об ошибке:

convert: no decode delegate for this image format `WEBP' @ error/constitute.c/ReadImage/746.
convert: no decode delegate for this image format `SVG' @ error/constitute.c/ReadImage/746.
convert: no decode delegate for this image format `EPS' @ error/constitute.c/ReadImage/746.

Почему это происходит: ImageMagick — один из самых популярных инструментов командной строки для работы с изображениями, но «из коробки» он не включает декодеры для всех форматов. Для каждого формата нужна библиотека «delegate»:

  • WebP требует libwebp
  • HEIC требует libheif + libde265
  • AVIF требует libavif + dav1d
  • SVG требует librsvg или Inkscape
  • EPS требует Ghostscript (gs)
  • DJVU требует djvulibre

Установка всего этого в Windows особенно болезненна — нужно скачать заранее собранные DLL, положить их в правильный каталог и надеяться, что версии совпадут.

На macOS:

bash
brew install imagemagick --with-librsvg --with-libheif --with-webp

Часто падает с:

Error: invalid option: --with-librsvg

Потому что Homebrew изменил структуру формул, и эти опции были удалены.

На Linux (Ubuntu/Debian):

bash
sudo apt install imagemagick libheif-dev libwebp-dev

Может всё равно не сработать, потому что системный ImageMagick был собран без нужного delegate. Тогда придётся собирать из исходников:

bash
./configure --with-heic=yes --with-webp=yes
make && sudo make install

Это может занять 10+ минут и конфликтовать с системными пакетами.

Ошибка #3: "Not a JPEG File: Starts With 0x89" — неверное расширение файла

Сообщения об ошибках:

Not a JPEG file: starts with 0x89 0x50
Corrupt JPEG data: premature end of data segment
libpng error: Not a PNG file
IHDR: CRC error

Почему это происходит: кто-то переименовал PNG-файл в .jpg (или наоборот). Расширение не соответствует реальному двоичному содержимому файла. Байты 0x89 0x50 — это «магическое число» PNG (первые байты каждого PNG — 89 50 4E 47). Файлы JPEG начинаются с FF D8 FF.

Это случается удивительно часто, когда:

  • скачивают изображения из интернета (серверы иногда выставляют неверные заголовки Content-Type)
  • массово переименовывают файлы, не выполняя реальную конвертацию
  • почтовые клиенты или мессенджеры тихо меняют расширения

Как определить реальный формат:

bash
file mysterious-image.jpg
# Output: mysterious-image.jpg: PNG image data, 1920 x 1080, 8-bit/color RGBA

В Windows (PowerShell):

powershell
Format-Hex -Path .\image.jpg -Count 4
# If you see 89 50 4E 47, it's actually a PNG
# If you see FF D8 FF, it's a real JPEG

Преимущество онлайн: GuruPDF автоматически определяет реальный формат файла независимо от того, что написано в расширении, и конвертирует корректно.

Ошибка #4: Ошибки конвертации в Python Pillow (PIL)

Распространённые сообщения об ошибках:

python
PIL.UnidentifiedImageError: cannot identify image file 'photo.heic'
python
OSError: cannot write mode RGBA as JPEG
python
OSError: cannot write mode P as JPEG
python
PIL.Image.DecompressionBombError: Image size (178956970 pixels) exceeds limit of 89478485 pixels

Почему это происходит: библиотека Pillow в Python — стандартный выбор для программной конвертации изображений, но у неё есть заметные ограничения:

  1. Нет поддержки HEIC без pillow-heif (отдельная установка, требующая системных библиотек)
  2. RGBA в JPEG не сохраняется, потому что JPEG не поддерживает прозрачность — сначала нужно преобразовать в RGB
  3. Режим палитры (P) в JPEG требует конвертации в RGB
  4. Большие изображения вызывают срабатывание защиты decompression bomb (функция безопасности)

Типичный код-обходной путь, с которым многие мучаются:

python
from PIL import Image

img = Image.open("photo.png")

# Handle transparency for JPEG output
if img.mode in ('RGBA', 'LA', 'P'):
    background = Image.new('RGB', img.size, (255, 255, 255))
    if img.mode == 'P':
        img = img.convert('RGBA')
    background.paste(img, mask=img.split()[-1])
    img = background

img.save("photo.jpg", "JPEG", quality=95)

Слишком много «обвязки», чтобы просто конвертировать одно изображение. И это всё равно не обработает HEIC, AVIF или WebP без дополнительных библиотек.

Ошибка #5: Ошибки macOS Preview "Could Not Be Exported"

Сообщения об ошибках:

"The document 'image.webp' could not be exported as 'image.png'."
"The file isn't compatible with QuickLook."
"The document could not be opened. The file format is not supported."

Почему это происходит: Preview.app в macOS поддерживает приличный набор форматов, но старые версии macOS (до Ventura) не поддерживают WebP или AVIF на уровне системы. Даже на новых версиях конвертация некоторых сочетаний форматов может «молча» падать или давать повреждённый результат.

Распространённые ошибки команды macOS sips:

bash
sips -s format jpeg input.webp --out output.jpg
# Error: Unable to render input.webp as JPEG
# Error 4: no such operation
bash
sips -s format png input.svg --out output.png
# Error: Unable to render SVG

Инструмент sips (Scriptable Image Processing System) встроен в macOS, но поддерживает ограниченный набор форматов: JPEG, TIFF, PNG, GIF, BMP и PICT.

Ошибка #6: Сбои конвертации изображений в FFmpeg

Распространённые ошибки:

[image2 @ 0x...] Could not open file : output.webp
av_interleaved_write_frame(): Invalid argument
Avi/ASF stream 0 is not an image stream. Use -c:v png/mjpeg/... to encode it.
[svg @ 0x...] Cannot determine type of input
[heic @ 0x...] Unknown decoder 'heic'
Discarding frame which has a bad interlace type

Почему это происходит: FFmpeg в первую очередь предназначен для видео, и хотя он умеет конвертировать изображения, для этого нужна поддержка конкретных кодеков, собранная при компиляции. Во многих системных сборках FFmpeg отсутствует поддержка HEIC/AVIF/WebP.

Ошибка #7: Ошибки пакетной обработки в GIMP

Сообщения об ошибках в консоли Script-Fu:

Error: ( : 1) eval: unbound variable: file-webp-save
batch command experienced an execution error:
Error: Procedure 'file-heif-load' not found
(gimp:12345): LibGfig-WARNING **: Bad path: /home/user/.gimp-2.10/gfig

Почему это происходит: GIMP требует плагины для новых форматов. Плагин WebP может быть не установлен, поддержка HEIF требует libheif, а поддержка AVIF требует GIMP 2.10.22+. Пакетная обработка через Script-Fu или Python-Fu добавляет ещё один слой сложности.

Ошибка #8: "EXIF Data Lost" — уничтожение метаданных при конвертации

Это не сообщение об ошибке — это «тихая» потеря данных, которую многие замечают слишком поздно.

Что теряется:

  • Настройки камеры (диафрагма, выдержка, ISO)
  • GPS-координаты (где сделано фото)
  • Дата и время съёмки
  • Информация об авторских правах
  • Цветовой профиль (sRGB, Adobe RGB, ProPhoto RGB)
  • Ориентация (информация о повороте — из-за чего фото отображаются боком)

Инструменты, которые часто удаляют EXIF:

  • Windows Paint (удаляет всё)
  • многие онлайн-конвертеры (по «соображениям приватности», не предупреждая)
  • ImageMagick (удаляет по умолчанию, если вы явно не управляете этим через -strip)
  • Python Pillow (нужна явная обработка EXIF через exif=img.info.get('exif', b''))

Проблема с ориентацией особенно неприятна:

Warning: JPEG file has EXIF orientation tag but image data is not rotated.
Auto-rotating image based on EXIF orientation.

Некоторые инструменты поворачивают изображение, но не обновляют EXIF-тег, из-за чего в одних просмотрщиках получается двойной поворот, а в других — «как надо».

Ошибка #9: Проблемы цветового пространства и ICC-профилей

Сообщения об ошибках:

lcms: not a valid ICC profile
color profile 'sRGB IEC61966-2.1' is not compatible with 'CMYK'
libpng warning: iCCP: known incorrect sRGB profile
JCS_CMYK JPEG image passed to JFIF converter

Почему это происходит: профессиональные изображения часто используют цветовое пространство CMYK (для печати) или широкие гаммы (Adobe RGB, ProPhoto RGB). Конвертация в веб-форматы (которые используют sRGB) без корректного управления цветом даёт «вымытые» или перенасыщенные цвета.

Что вы видите: изображение, которое выглядело идеально на экране, после конвертации становится кислотно-зелёным или грязно-коричневым. Или профессиональное фото полностью теряет яркие оттенки.

Техническая причина: в CMYK 4 канала (Cyan, Magenta, Yellow, Key/Black), а в RGB — 3 (Red, Green, Blue). Наивная конвертация не применяет правильное преобразование цветового профиля, из-за чего цвета получаются сильно неверными.

Ошибка #10: "File Too Large" или сбои "Out of Memory"

Сообщения об ошибках:

java.lang.OutOfMemoryError: Java heap space
Traceback: MemoryError
Fatal error: Allowed memory size of 134217728 bytes exhausted
convert: cache resources exhausted `input.tiff' @ error/cache.c/OpenPixelCache/3945.
convert: width or height exceeds limit `input.tiff' @ error/cache.c/OpenPixelCache/3912.

Почему это происходит: TIFF-файл 100 MB при 300 DPI может иметь размер 8000×6000 пикселей. В памяти в несжатом виде это:

  • 8000 × 6000 × 4 байта (RGBA) = 192 MB RAM на одно изображение
  • обработка (изменение размера, конвертация формата) требует в 2–3 раза больше
  • пакетная конвертация 10 таких изображений может съесть 4–6 GB RAM

Большинство настольных приложений и скриптов не обрабатывают изображения потоково — они загружают файл целиком в память.

Ограничения политик ImageMagick по умолчанию часто слишком жёсткие:

# /etc/ImageMagick-6/policy.xml
<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="disk" value="1GiB"/>
<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>

Возможно, потребуется отредактировать policy.xml, чтобы увеличить лимиты, но для этого нужны права администратора и понимание XML-конфигурации.

Ошибка #11: Конвертация SVG в растр — кошмар «рендеринга текста»

Типичные проблемы:

Pango-WARNING **: failed to choose a font, expect ugly output
rsvg-convert: error: Error reading SVG: "Unexpected end of XML input"
cairo-WARNING: cairo_surface_destroy: Cannot modify an already-finished surface

Почему это происходит: SVG-файлы часто ссылаются на шрифты, которых нет в системе. При конвертации в PNG или JPG движок рендеринга подставляет шрифт по умолчанию, полностью меняя внешний вид текста. Градиенты, фильтры и встроенные изображения в SVG добавляют ещё больше потенциальных точек отказа.

Пример проблемы со шрифтами:

Ваш SVG использует font-family: "Helvetica Neue", но на вашем Linux-сервере есть только Liberation Sans. Результат выглядит слегка «не так» — другая межбуквенная дистанция, другая насыщенность, съехавшее выравнивание текста.

Почему онлайн-конвертация просто работает (когда локальные инструменты — нет)

После всех этих ошибок можно задуматься: почему онлайн-инструменты справляются так гладко?

1. Преднастроенная среда: онлайн-инструменты вроде GuruPDF работают на серверах, где все кодеки, библиотеки и delegate уже установлены и корректно настроены. Никаких отсутствующих libheif, неверных политик ImageMagick или недостающего Ghostscript.

2. Автоматическое определение формата: сервер определяет реальный формат по двоичному заголовку (magic bytes), а не по расширению. PNG, замаскированный под .jpg? Не проблема.

3. Корректное управление цветом: серверные инструменты правильно обрабатывают ICC-профили и преобразования цветовых пространств, сохраняя визуальный вид изображений.

4. Управление памятью: у облачных серверов достаточно ресурсов, и они эффективно обрабатывают изображения, справляясь с большими TIFF и высокодетальными сканами без нехватки памяти.

5. Всегда актуально: поддержка новых форматов вроде AVIF и HEIC добавляется на сервере. Вам не нужно ничего обновлять на компьютере.

6. Никаких проблем с установкой: никаких Python-окружений, никакого Homebrew, никакого «DLL-ада», никаких правок policy.xml, никакой компиляции из исходников.

Инструменты для конвертации изображений в GuruPDF

GuruPDF поддерживает широкий набор конвертаций форматов изображений — бесплатно и прямо в браузере:

Из фотографий и изображений:

Векторные и специализированные форматы:

Инструменты оптимизации:

Заключение: перестаньте бороться со своим компьютером

Если вы когда-либо тратили 30 минут на попытки установить libheif в Windows, или не могли понять, почему ваш CMYK TIFF после конвертации в JPG стал зелёным, или были в недоумении от ошибки «no decode delegate» — вы не одни. Конвертация изображений должна быть простой, но локальные инструменты делают её неоправданно сложной.

В следующий раз, когда вам понадобится конвертировать изображение, сначала попробуйте загрузить его в GuruPDF. Он обрабатывает все форматы, сохраняет качество и работает в любом браузере на любом устройстве. Никаких установок, никаких кодов ошибок, никакого раздражения.

Лучше потратить время на реальную работу, чем отлаживать delegates в ImageMagick.