Аффинное преобразование изображения
Примените к изображению произвольную аффинную матрицу 2x2, чтобы за один шаг изменить его масштаб, сдвинуть, отразить или повернуть. Введите коэффициенты a, b, c и d, необязательные смещения выходного изображения, метод интерполяции и цвет фона для незаполненной области. Инструмент рассчитывает размер нового холста по преобразованным углам. Подойдет разработчикам, дизайнерам и студентам, которым нужен точный контроль над линейными преобразованиями изображений.
Часто задаваемые вопросы
Что такое аффинное преобразование?
Аффинное преобразование переводит координаты каждого пикселя (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.