| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |