1 / 1 / 0
Регистрация: 21.04.2022
Сообщений: 12

Рисовалка JavaScript

21.04.2022, 23:37. Показов 1073. Ответов 4

Студворк — интернет-сервис помощи студентам
Наткнулся на данную обучалку "как сделать Рисовалку в JavaScript". Но запутался и у меня ничего не вышло, т. к. занимаюсь этим недавно. Кто знает, как должен выглядеть готовый код? Помогите пожалуйста и заранее спасибо Вот ссылка на ту обучалку http://gohtml.ru/js/152-javasc... iem-canvas
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.04.2022, 23:37
Ответы с готовыми решениями:

Рисовалка
Здравствуйте, мне нужно написать простенькую рисовалку на htm5+js. Я сделал тут, но пр нажатии срабатывают все функции сразу, пробовал...

Рисовалка Canvas
Есть готовая рисовалка, нужно к ней зафигачить 2 кнопки: (1 выбор цвета 3-4 шт, 2я- выбор размера большой, мал, средний) Заранее...

Вставка элементов меню (содержащих javascript) через javascript
Пишу курсовой проект по JavaScript в ходе которого потребовалось создать небольшой локальный сайт, страничек довольно много и я решил, при...

4
 Аватар для NTHing
1782 / 963 / 388
Регистрация: 26.11.2014
Сообщений: 1,966
Записей в блоге: 1
22.04.2022, 08:30
Цитата Сообщение от wweelltt Посмотреть сообщение
как должен выглядеть готовый код?
Так на странице обучалки есть этот "готовый код"...
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
22.04.2022, 10:30
Лучший ответ Сообщение было отмечено wweelltt как решение

Решение

Цитата Сообщение от wweelltt Посмотреть сообщение
Кто знает, как должен выглядеть готовый код?
Берёте любой HTML5 шаблон, например тут и сохраняете в файл с расширением .htm и вставляете готовый код. Там ошибка в первой секции "Создаем объекты:" не JS, а HTML - вставляем в тег <body>. CSS вставить в тег <head>, предварительно обернув в тег <style>. JS вставить в тег <script> перед закрывающим тегом </body>.

Не по теме:

Да и не обучалка это никакая...


PHP/HTML
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
 
<style>
.button {
  width: 15px;
  height: 15px;
  display: inline-block;
  padding: 1px;
  cursor: pointer;
  border: solid 1px #fff;
}
 
.button:hover {
  border: solid 1px #f00;
}
 
.button:active {
  border: solid 1px #ff0;
}
 
#palette, #canvas {
  display: inline-block;
  border: solid 1px #aaa;
  cursor: default;
  vertical-align: top;
}
 
#palette {
  width: 95px;
}
 
#clear {
  background: #eee;
  color: #777;
  padding: 10px;
  width: 200px;
  text-align: center;
  margin: 15px auto;
  cursor: pointer;
}
 
.container {
   white-space: normal;
   width: 710px;
}
</style>
 
</head>
<body>
 
<div class="container">
  <canvas id='canvas' width="600" height="600">Ваш браузер устарел!</canvas>
  <div id="palette"></div>
  <div id="clear">Очистить изображение</div>
</div>
 
<script>
// Выполняем по завершении загрузки страницы
window.addEventListener("load", function onWindowLoad() {
    // Инициализируем переменные
    // Генерируем палитру в элемент #palette
    generatePalette(document.getElementById("palette"));
 
    var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");
 
    // переменные для рисования
    context.lineCap = "round";
    context.lineWidth = 8;
 
    // вешаем обработчики на кнопки
    // очистка изображения
    document.getElementById("clear").onclick = function clear() {
      context.clearRect(0, 0, canvas.width, canvas.height);
    };
 
    // На любое движение мыши по canvas будет выполнятся эта функция
    canvas.onmousemove = function drawIfPressed (e) {
      // в "e"  попадает экземпляр MouseEvent
      var x = e.offsetX;
      var y = e.offsetY;
      var dx = e.movementX;
      var dy = e.movementY;
 
      // Проверяем зажата ли какая-нибудь кнопка мыши
      // Если да, то рисуем
      if (e.buttons > 0) {
        context.beginPath();
        context.moveTo(x, y);
        context.lineTo(x - dx, y - dy);
        context.stroke();
        context.closePath();
      }
    };
 
    function generatePalette(palette) {
      // генерируем палитру
      // в итоге 5^3 цветов = 125
      for (var r = 0, max = 4; r <= max; r++) {
        for (var g = 0; g <= max; g++) {
          for (var b = 0; b <= max; b++) {
            var paletteBlock = document.createElement('div');
            paletteBlock.className = 'button';
            paletteBlock.addEventListener('click', function changeColor(e) {
              context.strokeStyle = e.target.style.backgroundColor;
            });
 
            paletteBlock.style.backgroundColor = (
              'rgb(' + Math.round(r * 255 / max) + ", "
              + Math.round(g * 255 / max) + ", "
              + Math.round(b * 255 / max) + ")"
            );
 
            palette.appendChild(paletteBlock);
          }
        }
      }
    }
});
</script>
 
</body>
</html>
1
22.04.2022, 12:35

Не по теме:

Ребята, возможно это просто спамер. Оставил ссылку на ресурс и все.

0
1 / 1 / 0
Регистрация: 21.04.2022
Сообщений: 12
22.04.2022, 15:29  [ТС]
Спасибо большое за помощь)
И я не спамер...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2022, 15:29
Помогаю со студенческими работами здесь

Выполнение Javascript файла в котором присутствуют javascript теги
text1.js &lt;link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/&gt; ...

Как перезагрузить javascript, javascript-ом?
как с помощью javascript перезагрузить javascript ? Смысл в том что один из моих скриптов выполняет функцию раскрытия новости, но когда...

Javascript (codeacademy - "'WHILE' LOOPS IN JAVASCRIPT(Dragon Slayer!)")
Пожалуйста, помогите прочитать этот код!!! var slaying = true; // A bit of new math magic to calculate the odds // of hitting the...

Рисовалка блок-схем
Здравствуйте! Нужна простая рисовалка блок схем на jQuery. Есть у кого исходный код? или ссылки где можно посмотреть

Реал тайм рисовалка
Здравствуйте. Нужна open source real-time совместная рисовалка. С геометрическими фигурами из коробки. Или с хорошими доками, из которых...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru