Как обрезать изображение по координатам
Передайте непустые данные изображения и задайте числовые границы `left`, `top`, `right` и `bottom` относительно его размеров. После обработки инструмент вернёт base64 с прямоугольным фрагментом.
Передайте непустые данные изображения и задайте числовые границы left, top, right и bottom относительно его размеров. После обработки инструмент вернёт base64 с прямоугольным фрагментом.
Что делает инструмент
Image Cropper предназначен для выделения прямоугольной области из переданных данных изображения. Вы задаёте четыре числовые границы: левую, верхнюю, правую и нижнюю. Это удобно, когда нужно получить фрагмент с известным положением на исходном изображении, а не менять размер, поворачивать или улучшать картинку.
Для работы подготовьте непустые данные изображения в поддерживаемом виде. Инструмент декодирует переданную строку и пытается открыть получившиеся данные как изображение. Поэтому результат зависит не только от выбранной области, но и от того, удастся ли распознать исходные данные. Проценты и нормированные значения для границ использовать не следует: координаты применяются к размерам декодированного изображения.
Если отдельные границы не заданы, используются значения по умолчанию: слева и сверху 0, справа и снизу 100. Такой набор подходит лишь тогда, когда он соответствует размерам исходного изображения и нужной области. Для предсказуемого фрагмента лучше передать собственные числовые границы.
Как обрезать изображение
-
Подготовьте строку с данными исходного изображения. Она должна быть непустой и содержать данные, которые можно декодировать и открыть как изображение. Если значение отсутствует, обработка не продолжится.
-
Передайте эту строку в поле данных изображения. Не подставляйте туда путь к файлу или произвольный текст: инструмент ожидает именно данные изображения.
-
Укажите четыре числовые границы области:
leftзадаёт левую сторону,top- верхнюю,right- правую, аbottom- нижнюю. Используйте значения, рассчитанные относительно ширины и высоты исходного изображения, а не проценты от них. Например, для области, начинающейся в точке 40 по горизонтали и 25 по вертикали и доходящей до 420 и 300, задайтеleft = 40,top = 25,right = 420,bottom = 300. -
Проверьте, что границы соответствуют нужному фрагменту. Левые и верхние значения ограничиваются пределами изображения. Правая граница ограничивается шириной изображения и затем корректируется так, чтобы оставаться хотя бы на одну единицу правее левой. Нижняя граница ограничивается высотой и аналогично корректируется относительно верхней. Поэтому значения на самой правой или нижней границе требуют особого внимания: итоговая область может получить минимальную ширину или высоту после такой проверки.
-
Запустите обработку и дождитесь результата. При успешном выполнении вы получите данные обрезанного изображения в формате base64. Для сохранения используется исходный формат, если он доступен; в противном случае результат кодируется как PNG.
-
Если обработка завершилась ошибкой, сначала проверьте, что строка данных непустая и действительно описывает открываемое изображение. Затем проверьте числовые границы и повторите операцию. Сбой также возможен на этапе декодирования, открытия, обрезки или сохранения, а также если недоступна необходимая зависимость обработки изображений.
Как читать результат и понимать ограничения
Результат представляет собой не готовую ссылку на файл, а данные обрезанного изображения в base64. Их можно передать в следующий процесс, который умеет принимать такие данные, или декодировать для сохранения. Если формат исходного изображения был распознан и доступен, он сохраняется; иначе результат будет PNG. Инструмент отвечает именно за выделение прямоугольной области, поэтому не стоит ожидать от него масштабирования, поворота, улучшения качества или выбора произвольного формата вывода.
Положение области нужно оценивать относительно исходных размеров после декодирования. Например, значение right = 420 означает границу с числовым положением 420 в системе границ изображения, а не 420 процентов. Если заданные значения выходят за пределы, они корректируются. При этом левый и верхний края ограничиваются отдельно, а правая и нижняя границы дополнительно поднимаются до минимального допустимого расстояния. Из-за этого область возле крайнего края может вести себя не так, как простой прямоугольник, полностью лежащий внутри исходного изображения.
Пустая строка данных не является изображением и приводит к отказу до получения результата. Аналогичная проблема возникает, если декодированные данные нельзя открыть как изображение. Некорректные значения границ или исключение во время любой операции обработки также могут завершить выполнение с ошибкой. Если результат не появился, отделите проблему исходных данных от проблемы координат: сначала проверьте открываемость изображения, затем уменьшите область до простого прямоугольника внутри его размеров и повторите запрос.
Входные данные лучше сохранять отдельно от полученного результата и не смешивать их с координатами. Перед повторным использованием проверьте, что потребляющая система принимает base64 и понимает формат результата. Сам по себе успешный ответ означает, что фрагмент был сформирован, но не подтверждает визуальное соответствие области вашей задаче без проверки изображения.
Практический пример
Редактору нужно выделить центральный фрагмент изображения, начиная с координат 40 и 25 и заканчивая координатами 420 и 300.
Передайте данные исходного изображения и задайте left = 40, top = 25, right = 420, bottom = 300, затем проверьте полученные данные перед сохранением.
Возвращаются данные прямоугольного фрагмента в base64; сохраняется исходный формат, если он доступен, иначе результат имеет формат PNG.
Ограничения
- Инструмент выполняет только обрезку прямоугольной области и может завершить обработку с ошибкой, если данные нельзя открыть или сбой произошёл во время обработки и сохранения.
Частые ошибки
- Причина: в поле передана пустая строка, путь к файлу или данные, которые не удаётся открыть как изображение. Исправление: передайте непустые корректные данные изображения и проверьте их декодирование до повторного запуска.
Частые вопросы
Можно ли передать изображение без указания координат?
Да, если переданные данные можно декодировать и открыть как изображение. Пустое значение не обрабатывается, а ошибка также возможна на этапе декодирования или открытия.
Можно ли задавать границы в процентах?
Нет. Границы применяются как числовые значения относительно размеров декодированного изображения, а не как проценты или нормированные координаты.
В каком виде приходит обрезанное изображение?
При успешной обработке возвращаются данные обрезанного изображения в base64. Сохраняется исходный формат, если он доступен; иначе используется PNG.