«LibCanvas» — фреймворк для работы с Javascript Canvas, часть третья

HTML*


Привет, Хабр! Я тут недавно презентовал свою библиотeку для работы с канвасом, показал, как сделать косынку.

Многим понравилось, но один уважаемый хабраюзер высказал мнение, что не айс, потому что нельзя нарисовать лого Apple, а на него повесить onclick. Я подумал, что действительно — без лого Apple не айс и нарисовал его. А еще — надпись "habr"

А для интересующихся Канвасом и библиотекой я представляю версию LibCanvas 0.1.2 небольшой демкой — псевдо векторным редактором растровых изображений.

Заценить



p.s. Почитайте faq в предыдущем топике в самом низу. Особенно если возникнут вопросы из разряда «почему не SVG?»
p.p.s можно сделать экспорт результата в SVG
+55
14 июля 2010, 08:41
66
TheShock 113,4

комментарии (25)

–10
cry_san #
Стиль изложения — как будто оду воспеваете себе.
+3
TheShock #
да нет. просто слегка веселое настроение и решил сделать шутливый стиль изложения.
и к DmitryBaranovskiy отношусь действительно положительно и уважительно.
+2
DIDJER #
Собираюсь использовать ваш фреймворк для разработки соц-сети, если вы не против, я могу надеется на вашу помощь по API. И желание расширения его с моей стороны?
+7
TheShock #
конечно. фреймворк под LGPL — используйте сколько хотите.
на помощь всегда можете рассчитывать, пишите)
+12
babarun #
щьёрт побъери, меня опередили… только вчера дописал топик о своём проекте и сегодня хотел опубликовать, верно говорят одна мысль приходит сразу к несольким людям http://esboza.ru/demo/
+1
esenin #
Ваша библиотека бесплатна? Ею можно воспользоваться?
+2
babarun #
Бесплатна, но мне пока стыдно её выкладывать, ибо она сыровата, и годится только для демонстрации, до «продакшена» ещё пару месяцев работы.
+1
sashkin #
это так задумано что на esboza.ru почти все # ссылки в хроме не работают? Та же самая фигня с babarun.ru
+2
TheShock #
и в фоксе. судя по всему, это просто заглушки
+2
babarun #
Они ни где не работают, потомусьто в данный момент WorkInProgress, мне жаль что эти страницы предстали перед вами в таком виде, но они не относятся к теме обсуждения.
+1
sashkin #
Думал доку почитать вот и полез куда не надо :)
+3
TheShock #
а вы все-равно публикуйте. пусть будет побольше хороших вещей.
0
TheShock #
было бы неплохо исходники в демонтрации не минифицировать
+1
babarun #
Это draft версия, в ней много такого, из-за чего матёрые js кодеры помидорами забрасают! — замаскировал от греха подальше…
+1
underscorevint #
Феерично
+2
smashercosmo #
Интерфейс у вас гораздо приятней чем у автора топика. Надеюсь, что допилите и выложите поскорее. Очень хочется на исходники глянуть.
+3
Zitrix #
больше решений хороших и разных! да и точки у Вас по-отзывчевей…

ps пожалуйста, объясните мне глупому, почему эти точки (и у Вас, и у автора) в том же теге canvas, что и получающееся изображение? если их вывести в отдельный элемент, при движении мышкой считать область перерисовки надо будет только для «слоя» с «контролами» — это положительно скажется на cpu. а точки через svg выводить, тогда и события работать начнут, и пересчитывать (при mousemove) вообще ничего не надо.
+1
babarun #
«контролы» они на то и контролы, что их изменение влечёт за собой и изменение всей фигуры в целом, так что, если их вынести в отдельный слой, то придётся обновлять и сами «контролы» и «получающееся изображение», работы в два раза больше. Я думаю что правильнее исходить из позиции — один контейнер с фигурами = одному тегу canvas.
+1
Zitrix #
Вы говорите про mousemove при схваченной точке (drag'n'drop), а я про «чистый» mousemove.

когда при mousemove точка начинает увеличиваться, надо перерисовывать и точку, и её фигуру (или все фигуры на холсте, т.к. не факт, что высчитывать пересечения фигур быстрее их перерисовки) — при том, что фигура осталась не измененной.

если бы точки находились в своем canvas'е, при mousemove (без изменения фигуры) надо было бы перерисовывать только саму увеличивающуюся точку (и соседей, до которых расстояние меньше суммы радиусов).

если бы точки находились в svg поверх canvas'а с фигурой, то высчитывать вообще ничего не надо.
+1
Zitrix #
> и соседей, до которых расстояние меньше суммы радиусов
лиху дал, очищать-то можно только прямоугольники, но не суть.
+1
babarun #
Ну в этом смысле — да, согласен.
–1
JanKefir #
Впечатлило! С удовольствием опробую, когда будет релиз.
0
kost #
А нахрена вы вместо нормальных ссылок ставите сокращенные через j.mp?
+3
TheShock #
а ибо парсер хабра — лох и ссылки с javascript он херит, а все ссылки как раз содержат такое слово.

хотя, я узнал сегодня о хабра-сокращалке: habr.ru/p/99053/. Возможно, перепишу на неё и буду дальше ею пользоваться.
+1
ALiEN_QWERTY #
При огромном количестве желтых кнопок-таскалок начинаются существенные тормоза. Видимо алгоритм проверки нахождения мышки над кнопкой можно сильно затюнить )))

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.