Lake.js: плагин к jQuery для отражения иллюстраций как бы в воде озера

в 5:57, , рубрики: canvas, jquery, jquery plugins, озеро, метки: ,

[скриншот]Стал известен скрипт lake.js — плагин jQuery, который берёт иллюстрацию (элемент <img>) и помещает её на холст (вставляет элемент <canvas>), располагая сразу под нею зеркальное отражение, идущее волнами — будто в воде озера.

Речь идёт не о застывших волнах, а об идущих по воде волнах — их фаза динамически изменяется джаваскриптом. (Понятно, что на Хабрахабре этот эффект не воспроизводим, так что я вставляю статический скриншот.)

Холст имеет ту же ширину, что и обрабатываемая иллюстрация, и вдвое бóльшую высоту.

Вызов плагина выглядит сравнительно просто и самоочевидно:

<script src="jquery.js"></script>
<script src="lake.js"></script>
<script>
$(function() {
   $('#lake-img').lake({
      'speed': 1,
      'scale': 0.5,
      'waves': 10
   });
});
</script>
...
<img id="lake-img" src="lake.png" style="display: none;"/>

Параметры имеют вот какой смысл:

  • speed — скорость движения волн;
     
  • scale — высота горба (амплитуда) волн;
     
  • waves — число волн.

Кадры анимации составляются в начале действия скрипта, так что после первоначальной загрузки страницы (когда $() сработает) может наблюдаться подтормаживание. Автор lake.js утверждает, что на большинстве устройств скрипт работает сносно.

Автор: Mithgol


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js