РЕДАКТИРОВАТЬ : @Ben, забудьте об отрицательных голосах без причины по вашему вопросу, и ... БУДЬ МОИМ ГОСТИ! :)
Я никогда не кодировал с <canvas>
раньше, это было очень весело. На данный момент нет билинейной интерполяции. Я мог бы переделать это и добавить больше наворотов.
Если вы хотите добиться такого эффекта в javascript, вам фактически придется использовать тег <canvas>
.
Принцип заключается в предварительном вычислении функции искажения в буфере, который больше размера исходного изображения.
Взгляните на старую колонку Flipcode Art of Demomaking: растровое искажение . Это старый добрый драгоценный камень :) Хотя параграф о кеше может не относиться к реализации на основе <canvas>
.
Есть много Обрабатывающих ресурсов, так что это также хорошая идея взглянуть на Processing.js .