Перейти к содержимому

Аффинное преобразование изображения

Примените к изображению произвольную аффинную матрицу 2x2, чтобы за один шаг изменить его масштаб, сдвинуть, отразить или повернуть. Введите коэффициенты a, b, c и d, необязательные смещения выходного изображения, метод интерполяции и цвет фона для незаполненной области. Инструмент рассчитывает размер нового холста по преобразованным углам. Подойдет разработчикам, дизайнерам и студентам, которым нужен точный контроль над линейными преобразованиями изображений.

Выберите файлы или перетащите их в поле загрузки. Максимальный размер файла: 5 MB.

Сбросить

Часто задаваемые вопросы

Что такое аффинное преобразование?

Аффинное преобразование переводит координаты каждого пикселя (x, y) в новые координаты (a, умноженное на x, плюс b, умноженное на y; c, умноженное на x, плюс d, умноженное на y). Оно позволяет масштабировать, сдвигать, отражать и поворачивать изображение, сохраняя прямые линии прямыми, а параллельные — параллельными.

Что означают четыре значения матрицы?

Значения a и d задают масштаб изображения по горизонтали и вертикали, а b и c — его сдвиг. Единичная матрица a=1, b=0, c=0, d=1 оставляет изображение без изменений. Для каждого значения допустим диапазон от -10 до 10, включая дробные числа.

Как повернуть изображение с помощью матрицы?

Чтобы повернуть изображение на заданный угол, используйте для этого угла значения a = cos, b = -sin, c = sin и d = cos. Для 30 градусов это будет a=0.866, b=-0.5, c=0.5, d=0.866. Холст увеличится, чтобы вместить повернутые углы.

Как отразить изображение?

Задайте a равным -1, чтобы отразить изображение по горизонтали, или d равным -1 — по вертикали, оставив остальные значения единичной матрицы. Если задать оба значения равными -1, изображение перевернется вверх ногами, что равносильно повороту на 180 градусов.

Для чего нужны смещения выходного изображения?

Смещения сдвигают преобразованное изображение внутри выходного холста на расстояние до 1000 пикселей в каждом направлении. Размер холста остается прежним, поэтому с одной стороны сдвинутое изображение обрезается, а с другой появляется фон.

Какой метод интерполяции выбрать?

Бикубическая интерполяция — хороший выбор по умолчанию для фотографий. Интерполяция по ближайшему соседу сохраняет резкие границы пикселей в пиксельной графике и снимках экрана, билинейная дает более мягкий результат, а локально ограниченная бикубическая, Nohalo и VSQBS уменьшают ореолы при увеличении. Выбор имеет значение только тогда, когда пиксели оказываются между узлами сетки.

Почему матрица отклонена?

Матрица с определителем, равным a, умноженному на d, минус b, умноженное на c, близким к нулю, сжимает изображение в линию, поэтому инструмент отклоняет ее. Также отклоняются результаты шириной или высотой более 6000 пикселей; уменьшите значения масштаба, чтобы не превышать это ограничение.

Чем заполнить область за пределами изображения?

После сдвига или поворота на новом холсте остаются пустые углы. По умолчанию они прозрачны, а результат сохраняется в PNG с альфа-каналом. Чтобы заполнить их, введите цвет в формате HEX, например #000000.

Какие форматы файлов можно загрузить?

Поддерживаются изображения JPEG, PNG, GIF, WebP, TIFF и AVIF размером до 5 MB. Для анимированных файлов используется первый кадр. Изображения, у которых длина любой стороны превышает 4000 пикселей, перед преобразованием масштабируются до 4000 пикселей.

Чем это отличается от инструмента сдвига?

Инструмент «Сдвиг изображения» создает матрицу сдвига по одному углу. Этот инструмент предоставляет доступ ко всем четырем коэффициентам, позволяя за один проход сочетать масштабирование, сдвиг и отражение, а также воспроизводить преобразования из кода или матричные значения CSS.

О проекте OneClick Pro

OneClick Pro — это бесплатная коллекция из более чем 150 веб-инструментов для повседневных задач: преобразования изображений и единиц измерения, форматирования и проверки кода, проверки доменов и SEO, а также работы с текстом, датами и числами. Все инструменты доступны без регистрации и подписки, а введенные вами данные используются только для расчета результата и никогда не сохраняются. Используйте коллекцию как быстрый набор инструментов для разовых задач или добавьте в закладки те, которыми пользуетесь каждый день.