Нет смысла, без программы он всё равно не запустится, пояснения в коде чисто для меня, раскрашивал в разные цвета, чтобы видно было в каких направлениях краска выливается за черту и как идёт процесс. Этот код выполняет залив с лейки не закрашенных участков. Работу посмотрите по моим ссылкам. Кликом по изображению кисточки переключение в режим заливки. Там я не указал и посетители пользуются в основном кисточкой.
|
clecar, избавиться от кнопки:
- или так <script>var img=new Image;img.onload=function(){o(this)};img.src="imag e.png";function o(b){var a=document.getElementById("peRVI").getContext("2d" );a.globalAlpha=1;a.drawImage(b,0,0,400,400);a.str okeRect(0,0,400,400)}</script> - или так <output id="list"><img class="po" src="image.png" id="k" onload="o(this)"></output><script>function o(b){var a=document.getElementById("peRVI").getContext("2d" );a.globalAlpha=1;a.drawImage(b,0,0,400,400);a.str okeRect(0,0,400,400)};</script> |
Rise,
у Вас опечатка: a.str okeRect(0, 0, 400, 400) - пробел из ниоткуда :) |
Опробовал оба варианта, картинка конечно вставляется, если убрать a.str okeRect(0, 0, 400, 400). Но не то что лейка, капризничает даже кисточка.
|
На сайте у меня работает по этому коду.
<script> document.ondragstart = function(){return false;} document.body.onselectstart = function(){return false;} var pri = document.getElementById("pri"); var pra= pri.getContext("2d"); var pervii = document.getElementById("peRVI"); var raskras= pervii.getContext("2d"); pervii.addEventListener('mousemove', paintCanvas, false); img = document.createElement('img'); img.onload = function (){ pra.drawImage(img, 0, 0);} pra.clearRect(0,0,400, 400); img.src ="risyem/kloyn.png"; </script> |
Ваш первый вариант работает аналогично моему. На сервере без проблем, локально на компьютере пиксели не обрабатываются.
|
Второй себя ведёт точно так же. После чистки cookei на компьютере. Заливку без кнопки или без сервера выполнить невозможно.
|
Это зависит от браузера. Firefox позволяет получать информацию по пикселям произвольного локального изображения, если сам файл тоже открыт локально. Chrome запрещает, потому что не безопасно: мало ли куда полезет случайно локально открытый файлик.
Каждая позиция по своему оправдана. Если вы пишете то, что будет использовано в интернете - используйте для тестирования локальный сервер. Слишком многое разнится между запуском "из интернета" и просто запуском файла, целое поле грабель по которым можно пройтись. |
Спасибо, так оно вероятно и есть. У меня Chrome. Firefox попробую установить.
|
Aetae,
Ваша правота подтвердилась, Firefox не удалось установить. Но в поисках причины удалил менеджер браузеров. У меня были установлены браузеры АМИГО, ХРОМ, ЯНДЕКС, ОПЕРА. Во всех программа раскраски работала одинаково, локально заливка с лейки не срабатывала, остальное было нормально. Теперь по прежнему работает только ЯНДЕКС. В ОПЕРЕ лейка заработала, но не переключается курсор и не срабатывает событие onmouseup оно так же перестало работать в АМИГО и ХРОМ, но в них по прежнему лейка не работает. Ваш совет удалить все, почистить ВИНД, и по новой установить браузеры? |
Часовой пояс GMT +3, время: 05:00. |