Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Искажение изображения


Автор: dux1 20.5.2013, 15:21
Добрый день!
 Есть на странице около 20 картинок их необходимо исказить 
http://habrahabr.ru/qa/31119/ .
 Подскажите, пожалуйста, есть ли какие-нибудь готовые инструменты?
Заранее спасибо.

Автор: Basili4 24.5.2013, 13:00
ну так на хабре уже же дали ответ.

youngmysteriouslight,24 декабря 2012 в 13:12 # решение
Судя по первой искаженной картинке, проще будет задать в полярных координатах. Например, так:
F = f + f0 * Sin(r/r0)
R = r
где (r,f) — расстояние и полярный угол (от центра) исходной точки, (R,F) — то же самое для искаженной точки.
function(px,py) {
        var x = px - width/2, y = py - height/2;
        var r = Math.sqrt(x*x+y*y), phi = Math.atan2(y,x), R = r;
        var phi0 = 0.1, r0 = 5;
        var Phi  = phi - phi0*Math.sin(r/r0);
        return {
            'x': R*Math.cos(Phi),
            'y': R*Math.sin(Phi)
        }
    }
youngmysteriouslight, 24 декабря 2012 в 13:17 #
Простите, конечно, я имел в виду
        {
            'x': width/2+R*Math.cos(Phi),
            'y': height/2+R*Math.sin(Phi)
        }
Перепишите формулу для пхп и вперед.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//object-id519a15366ccc19e76b000002#findElement_E7045_519f3a4c6ccc193f070003d9_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)