Мастер участка
Группа: Участник
Сообщений: 304
|
Привет.
Начнем без предисловий.
Чтоб сжать (рстянуть) картинку нужно выкинуть (размножить) некоторые пиксели. Как?
Пусть ширина (или высота) до растяжения W1 а после — W2. (в пикселях)
Пусть i — индекс из интелвала [0; W2] — т.е. пробегает по всей ширине картинки. Нужно определить цвет i — того пикселя растянутой картинки.
Нужный нам цвет содержит некоторый j-тый пиксель нерастянутой картинки. Какой? А вот такой: i*W1/W2 (думаю, понятно почему).
Итак окончательно:
Пробегаешь по ширине индексом i. Цвет для этого пикселя берешь из "старой" картинки (изменения размера) из пикселя с номером j=i*W1/W2.
В случае растяжения (сжатия) одновременно по 2 координатам используй идля второй координаты формулу, аналогичную полученной.
|