Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 16.08.2017
Сообщений: 44

JavaScript draw (рисовалка) + векторная графика SVG

07.09.2017, 21:57. Показов 1991. Ответов 0

Студворк — интернет-сервис помощи студентам
Нужна помощь, есть растровая рисовалка на HTML+JS на canvas, нужно ее переделать на векторную рисовалку (SVG)
Я не могу разобраться как? Просто canvas заменить на SVG, скрипт не отрабатывает!
Вот сама растровая рисовалка:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Canvas</title>
    <style media="screen">
      #tablet {
        border: 1px solid #ccc;
        margin: 10px;
        cursor: crosshair;
      }
    </style>
  </head>
  <body>
    <canvas width="700" height="500" id="tablet"></canvas>
    <form class="canvas-attrs">
      <select name="strokeStyle">
        <option value="black" selected>black</option>
        <option value="red">Red</option>
        <option value="green">Green</option>
      </select>
      <select name="lineWidth">
        <option value="1" selected>small</option>
        <option value="10">medium</option>
        <option value="20">big</option>
      </select>
    </form>
    <script type="text/javascript">
      function init() {
        var ctx = tablet.getContext('2d');
        var paint = false;
 
        tablet.addEventListener("mousedown", Down);
        tablet.addEventListener("mouseup", Up);
        tablet.addEventListener("mousemove", Move);
 
        function Down(e) {
          paint = true;
          ctx.beginPath();
          ctx.moveTo(e.pageX - this.offsetLeft, e.pageY - this.offsetTop);
        }
 
        function Up(e) {
          paint = false;
          ctx.closePath();
        }
 
        function Move(e) {
          if (paint == true) {
            ctx.lineTo(e.pageX - this.offsetLeft, e.pageY - this.offsetTop);
            ctx.stroke();
          }
        }
 
        document.querySelector('form.canvas-attrs').addEventListener('change', setStyle);
        function setStyle() {
          ctx.strokeStyle = this.strokeStyle.value;
          ctx.lineWidth = this.lineWidth.value;
        }
      }
      init();
    </script>
  </body>
</html>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2017, 21:57
Ответы с готовыми решениями:

Векторная графика RAPHAEL.JS
Ребят кто работал с этим фреймворком, подскажите или помогите найти ресурт где можно почитать и посмотреть образец работы с ним, много...

svg графика
Прошу прощения, знаю что не там спрашиваю, но спрошу тут, поскольку раздел о графике. Проблема такова: Создаю на сайте...

Векторная графика
Здравствуйте. Надо сдавать лабортаторные работы, а я не успеваю их сделать. Среда программирования - Турбо Паскаль или Делфи. ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2017, 21:57
Помогаю со студенческими работами здесь

Векторная графика
Дамы и господа, подскажите пожалуйста. С каким форматами может работать Qt? Есть формат SVG который он без проблем съедает, и классы для...

Qt векторная графика
Добрый вечер. Есть окно, на котором есть лейбл с изображением, при изменении размера окна картинка искажается и видно невооруженным края....

Векторная графика и масштабирование
Всем привет, хочу сделать векторную &quot;рисовалку&quot;, примерно как в программе sPlan на c#, пробовал Graphics, а потом понял, что скорее всего...

Qt4 векторная графика
Доброго времени суток. Стоит задача: Захватить содержимое виджета и сохранить в формате векторной графики. Нашел про QtSvg, по вроде...

Векторная графика и PHP
Дано: Есть шаблон-рисунок в формате CorelDraw (или даже SVG). Задача: при помощи PHP отредактировать шаблон и экспортировать его в файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru