Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   изменение размера изображения - произвольно по 4-м вершинам (https://javascript.ru/forum/dom-window/32312-izmenenie-razmera-izobrazheniya-proizvolno-po-4-m-vershinam.html)

dubsage 11.10.2012 10:59

изменение размера изображения - произвольно по 4-м вершинам
 
Всем привет! Собственно ничего не могу нагуглить по теме :(

Нужно изменить размер изображения по трапеции. какой-то скрипт готовый уже наверняка есть?

хотя бы доступный алгоритм, я уж как нибудь прикручу его на JS.

Your 11.10.2012 11:11

Я, что-то не понял, по пропорции?

Вам же нужно размеры менять или еще и положение?

Тогда тут нужно ротацию.

dubsage 11.10.2012 11:17

нет нет мне не нужна ротация. я хочу растянуть/сжать изображение - произвольно (не пропорционально) по 4 вершинам. ну понятно что они будут вписаны в большой прямоугольник. я вообще думал что это тема простая. (хочу место сэкономить - порядка 18 изображений придется добавлять, если не решу эту проблему, килобайт на 500-600)сейчас нарисую рисунок чтобы всё стало ясно.

dubsage 11.10.2012 11:31

как было -

как надо -

Your 11.10.2012 11:49

Еще раз повторяю это ротация.
Вы меняете положение в трех мерном режиме.

Почитайте вообще, что такое ротация, трапеция и пропорция.

На javascript это сделать наверно не удастся или очень сложно.

К примеру на других языках например ActionScript это делается через rotationX-Y-Z.

Я на js это никогда не делал, знаю, что есть ротация просто поворота на Canvas ну или самому повернуть. Но там только поворот, само вращение в 3х мерном пространстве думаю не удастся или будет очень сложно.

dubsage 11.10.2012 13:25

Да почему вы всё время про ротацию говорите? нужно просто битмап матрицу получить и перерасчитать для каждой точки цвет, с учетом изменений по линиям. просто хочется найти уже что-то готовое, от чего и начать плясать!

dubsage 11.10.2012 13:30

надо было по другому нарисовать, чтобы про ротацию подозрений не возникало =)


Часовой пояс GMT +3, время: 05:25.