Как преобразовать WebP в JPG из данных Base64
Передайте непустые Base64-данные WebP и при необходимости укажите качество JPEG. После успешного преобразования результатом будет JPEG, закодированный в Base64, а не готовый адрес файла или имя файла автоматически заданного вида.
Подготовка данных изображения
WebP можно преобразовать в JPEG, передав инструменту данные изображения в формате Base64. Такой способ подходит, когда содержимое уже представлено текстовой строкой и его нужно передать дальше в виде JPEG, также закодированного в Base64. Инструмент работает именно с данными изображения, поэтому имя файла, путь к нему или адрес страницы не заменяют содержимое WebP.
До запуска подготовьте непустую строку Base64, полученную из изображения WebP. Пустое поле не приводит к попытке конвертации и завершается ошибкой. Проверьте источник строки: она должна содержать данные изображения, а не произвольный текст или только название файла. Если значение передаётся с дополнительным префиксом, ориентируйтесь на формат, который принимает используемое поле, чтобы после декодирования получились байты открываемого изображения.
Качество JPEG задавать необязательно. Если отдельное значение не указано, для операции сохранения используется 90. Это значение относится к сохранению результата в JPEG, но само по себе не позволяет заранее определить размер итоговых данных или их визуальное качество. Для важных изображений полезно отдельно сравнить получившееся представление с исходным.
Порядок преобразования
-
Откройте инструмент и найдите поле для данных изображения. Подготовьте именно Base64-представление содержимого WebP. Не вставляйте вместо него путь к файлу, URL или одно имя файла, поскольку такие значения не описывают требуемые байты изображения.
-
Вставьте непустую строку в поле изображения. Если строка была скопирована из другого источника вместе с префиксом, проверьте, соответствует ли такая запись формату поля. Важен результат декодирования: получившиеся байты должны открываться как изображение WebP.
-
При необходимости укажите качество JPEG. Поле можно оставить без собственного значения, тогда применяется 90. Не рассчитывайте на заранее установленный диапазон, автоматическое исправление, ограничение или округление введённого числа: такие правила не определены.
-
Запустите преобразование. Перед сохранением переданные данные декодируются, байты открываются как изображение, а затем изображение записывается в JPEG. Если исходное изображение использует режим RGBA или палитровый режим, перед сохранением оно переводится в RGB.
-
Проверьте ответ после завершения операции. При успехе возвращаются байты JPEG, закодированные в Base64. Передайте полученную строку туда, где ожидаются Base64-данные JPEG, либо декодируйте её в байты отдельным совместимым способом, если требуется получить файл.
-
При ошибке сначала проверьте неповреждённость строки, соответствие WebP и возможность открыть изображение после декодирования. Сбой может возникнуть во время декодирования или обработки изображения. Операция также сообщает об ошибке, если нужная зависимость для работы с изображениями недоступна; успешный JPEG в такой ситуации не возвращается.
Проверка ответа и границы результата
Успешный ответ следует понимать как Base64-строку с содержимым JPEG. Это не URL и не обещание автоматически созданного имени файла. Чтобы использовать результат в другой системе, передайте строку в поле, рассчитанное на Base64-данные JPEG. Для получения файла декодируйте строку в байты и сохраните их выбранным способом с расширением JPG или JPEG.
Параметр качества участвует в операции сохранения, однако по одному его значению нельзя достоверно предсказать объём результата, степень потери деталей или вид плавных цветовых переходов. На восприятие влияют особенности исходного изображения и выбранное значение качества, поэтому результат стоит проверить отдельно, если на картинке есть мелкий текст, тонкие линии или заметные градиенты.
Перевод RGBA и палитрового режима в RGB показывает, что перед сохранением меняется цветовой режим изображения. Поэтому свойства исходного WebP, связанные с таким представлением, могут не совпасть с тем, что содержится в JPEG. Полученный формат предназначен для изображения, а не для сохранения исходной структуры WebP.
Повторный запуск не устранит причину, если Base64-строка обрезана, относится к другому типу данных или содержит изображение, которое нельзя открыть. Вначале найдите исходную проблему в строке и проверьте её повторно. Ошибка обработки либо недоступность необходимой зависимости также означает, что подтверждённый успешный JPEG не сформирован.
Практический пример
Вам нужно передать изображение WebP из текстового обмена в систему, которая принимает JPEG в Base64 и не использует исходное расширение WebP.
Возьмите непустую Base64-строку изображения WebP из текстового обмена, вставьте её в поле данных изображения, не указывайте собственное качество и запустите преобразование; затем проверьте, что ответ имеет вид Base64-данных JPEG без раскрытия содержимого строки здесь или выполнения операции.
После успешной операции появляется строка Base64, содержащая байты JPEG; отдельные URL и автоматически заданное имя файла не являются частью ожидаемой формы результата.
Ограничения
- Размер и визуальное качество нельзя заранее вывести только из качества; RGBA и палитровые изображения переводятся в RGB, а ошибка декодирования или обработки прерывает операцию.
Частые ошибки
- Причина: переданы пустое значение, путь, URL или повреждённая строка. Исправление: замените ввод на непустые Base64-данные WebP, которые после декодирования открываются как изображение.
Частые вопросы
Какие данные нужны для преобразования WebP в JPG?
Передайте непустую строку Base64, содержащую данные WebP. Пустое значение завершает операцию ошибкой, а успешный ответ содержит данные JPEG в Base64 для дальнейшей передачи или декодирования в байты. Имя файла само по себе изображением не считается.
Нужно ли указывать качество JPEG?
Задавать его необязательно: без собственного значения применяется качество 90. Подтверждённых правил о допустимом диапазоне, округлении или автоматическом изменении введённого числа нет, поэтому значение следует выбирать с учётом нужного результата.
Что проверить при ошибке преобразования?
Проверьте, что строка Base64 не повреждена, декодируется и содержит открываемое изображение WebP. Сбой также возможен при обработке изображения или отсутствии необходимой зависимости; в этих случаях успешные данные JPEG не возвращаются.