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



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

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

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

    Заценить



    p.s. Почитайте faq в предыдущем топике в самом низу. Особенно если возникнут вопросы из разряда «почему не SVG?»
    p.p.s можно сделать экспорт результата в SVG
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 25

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

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

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

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

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

                              хотя, я узнал сегодня о хабра-сокращалке: habr.ru/p/99053/. Возможно, перепишу на неё и буду дальше ею пользоваться.
                            • НЛО прилетело и опубликовало эту надпись здесь

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

                              Самое читаемое