Canvas

индекс
0,00

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

[скриншот]Стал известен скрипт 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;"/>

+2
4 мая 2012, 09:57
58
Mithgol 101,4

Игра Input/Output или развлекаемся в ожидании Google IO 2012


На сайте, посвященном Google IO 2012 Гугл сделал забавную игру. Цель игры переправить шарик от Input'а в Output.
Игра в духе Crazy Machines.
Под катом скрин игры
+23
22 апреля 2012, 12:50
109
Lendon 3,5

Рисуем карту изображения мышкой из песочницы

Привет. Давеча мне довелось иметь дело с такой специфической фичей html как карта изображения. Скажу честно, что мне не часто доводилось использовать её, и то, обычно, всё обходилось зонами в форме прямоугольника. Но это был не тот самый случай. Задачей было повесить ссылки на отдельные регионы изображения, которым выступала карта страны, и, к сожалению, ни о каких канвасах или svg не могло быть и речи. Только html только хардкор! Итак, задача поставлена, гугл активизирован, можно и начинать.
+20
19 апреля 2012, 17:00
140
SerDIDG 5,5

Web-Drawing библиотеки: Paper.js Vs. Processing.js Vs. Raphael.js перевод

Набрёл на статью со сравнением трёх JS библиотек для рисования в WEB Paper.js, Processing.js и Raphael.js. Думаю она будет интересна не только мне.

Прежде чем начать рисовать что-либо в браузере, спросите себя о следующих трёх вещах:


  • Вам нужна поддержка старых браузеров?
    Если ответ да, тогда единственный выбор, это Raphaël. Он поддерживает браузеры вплоть до IE 7 и Firefox 3. У Raphaël есть даже ограниченная поддержка IE 6, несмотря на то, что некоторые базовые для библиотеки технологии не могут быть реализованы в этом браузере.
  • Вам нужна поддержка Android?
    Android не поддерживает SVG, так что вам придется использовать Paper.js или Processing.js. Существуют слухи, что Android 4 будет поддерживать SVG, но большинство современных Android устройств уже не будет его поддерживать.
  • Ваш рисунок интерактивный?
    Raphaël и Paper.js сосредоточены на взаимодействии с рисуемыми элементами посредством клика мышкой, перетаскивания и касания. Processing.js не поддерживает никаких события уровня объекта, потому обработать движения пользователя в нём довольно сложно. Processing.js может рисовать классную анимацию на Вашей домашней страничке, а Raphaël и Paper.js более подходят для интерактивных приложений.

+58
14 апреля 2012, 16:39
345

Вот она, красота математики

Как вы уже давно привыкли, график вещественной функции в математике — некая кривая, которая показывает, как ведёт себя функция при изменении её аргумента. Иногда эта кривая может быть весьма красива, особенно, если речь идёт о графиках некоторых уравнений, как, например, этого.
Но в данном посте речь пойдёт о функции двух вещественных аргументов. И возвращать эта функция будет не число, а оттенок цвета. Да-да, значение от 0 до 255, которое будет зависеть от положения точки, то есть от двух её координат (раз уж мы собрались делать плоский рисунок). Кто до сих пор слабо представляет, о чем идёт речь, объясню на примере. Вот график функции cos(x*y):
image

Что можно сказать, глядя на этот график? Ну во-первых, что функция наша в каком-то роде периодична. Во-вторых, на первом промежутке монотонности она убывает. Ну действительно: при движении от левой верхней точки рисунка вправо или вниз, цвет становится более тёмным, то есть, значение функции стремится к нулю. А теперь, друзья, пришла пора развлекаться. Погнали.
+29
13 апреля 2012, 02:26
113
mr_salik 7,5

Как раскрыть мощь HTML5 Canvas для игр перевод



Браузеры, поддерживающие HTML5, и платформа HTML5 для Windows 8 Metro сегодня становятся серьезными кандидатами для разработки современных игр.

Благодаря canvas, у вас есть доступ к аппаратно-ускоренной поверхности, на которой вы можете отображать контент вашей игры и с помощью некоторых трюков и ухищрений вы сможете достигнуть великолепной производительности рендеринга до 60 кадров в секунду. Подобная непрерывность действительно важна в играх, так как чем плавнее игра (анимация), тем лучше чувствует себя игрок.

Цель данной статьи — дать вам несколько подсказок, как выжать максимум мощности из HTML5 Canvas. Статья состоит из двух основных частей [вы читаете первую]. David Rousset скоро опубликует вторую часть.

В статье я буду показывать ключевые идеи на одном и том же примере — это эффект 2D-туннеля, который я написал для Coding4Fun-сессии на TechDays 2012 во Франции.
+41
5 апреля 2012, 16:30
337
kichik 144,0

Canvas с аппаратным ускорением в Google Chrome

28 марта версия Google Chrome 18 появилась в стабильном канале и уже установлена на компьютерах большинства пользователей Chrome. Среди разных улучшений в новой версии следует особо отметить рендеринг с аппаратным ускорением Canvas2D под Windows и Mac OS X. Благодаря GPU-ускорению Canvas2D будет быстрее работать в браузере, что позволит повысить производительность и качество работы HTML5-игр и других веб-приложений.

Кроме Canvas2D, в свежей версии Chrome заработал движок для программной растеризации SwiftShader для WebGL. Движок лицензирован у компании TransGaming и обеспечивает работу WebGL на старых компьютерах, не поддерживающих аппаратное ускорение WebGL.
+2
31 марта 2012, 22:52
10
alizar 2275,0

Создание соединительных стрелок для блочных элементов используя canvas из песочницы

arrows_for_blocksЗдравствуйте!

Недавно появилась необходимость сделать простое иерархическое дерево для web страницы (структура организации). Блоки получились неплохие, но когда пришло время соединить все стрелками, возник вопрос – как? Решение было два: рисовать стрелки в .png или же использовать спецсимволы.

Но хотелось чего-то более быстрого, удобного, современного – т.е. просто указать: стрелка от блока А к блоку Б. Уже к вечеру была написана небольшая библиотека, позволяющая реализовывать задуманное…
+37
29 марта 2012, 02:10
207
verhov 3,0

BrowserQuest — многопользовательская игра на canvas

BrowserQuest от Mozilla — это дань классическим многопользовательским играм. Вы играете за молодого воина, который ищет приключения на свою пятую точку. Тут не нужно спасать красавицу-принцессу, но это вам с лихвой окупится опасным миром, наполненным сокровищами и корованами. И главное, все это сделано с помощью HTML5 и JavaScript!

Проект с открытым исходным кодом и хостится на GitHub!
+61
27 марта 2012, 18:45
218
omfg 180,1

Выводим текст на HTML5 Canvas

HTML5 Canvas – очень обширная тема со многими “вкусностями”, о многих из которых уже писали и ещё будут писать. Поэтому, я хочу немного рассказать в этой статье, только об одной маленькой, и как на первый взгляд может показаться банальной темой – работа с текстом. Я хочу показать, что с ним почти также можно работать, как с обычным текстом в вебе, т.е. позиционировать, накладывать стили и градиенты, а также писать многострочные предложения легко и без проблем.
+50
19 марта 2012, 16:34
288
naxel 7,0