[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Рисовалка на php
bposter
Доброго, ради практики решил соорудить рисовалку, то есть есть веб страница, двигая курсором иожно рисовать на этой странице. Хотелось бы перед началом работы понять правильно я себе представляю работу всего этого.

При помощи js отслеживаем координаты курсора, через ajax эти координаты передаем php обработчику который наносит точки на холст. Если все правильно то еще смущает что будет очень частое обращение к php и тем самым создается нагрузка на сервер при определенном количестве человек. Или я вообще не от туда подошел?

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
McLotos
а зачем тебе php в этом задании? У тебя несколько человек, которые рисуют одновременно должны видеть рисунки друг друга "в прямом эфире"?
Если нет, то нет смысла в передаче, можно всё сделать на JS, а php только для записи конечного результата

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
bposter
прямой эфир нет, хотя мысля не плохая, спс.

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
vital
На холст, который canvas, тоже на js.
Серверный код там не нужен.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
bposter
Цитата (vital @ 16.07.2014 - 10:47)
На холст, который canvas, тоже на js.
Серверный код там не нужен.

как раз смотрю html5 http://htmlbook.ru/html5/canvas

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
vital
оно самое.
Кстати, мне лениво гуглить, но даю 146% что ваша рисовалка есть в уже готовая, можно нагуглить и посмотреть как сделано.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
bposter
Оказалось все намного проще чем я мог подумать smile.gif всем спс

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
bposter
Я использовал код для определения позиции курсора



ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

function
init() {
if (ns4) {document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove=mousemove;
}
function mousemove(event) {
var mouse_x = y = 0;
if (document.attachEvent != null) {
mouse_x = window.event.clientX;
mouse_y = window.event.clientY;
} else if (!document.attachEvent && document.addEventListener) {
mouse_x = event.clientX;
mouse_y = event.clientY;
}

context.fillText("*", mouse_x, mouse_y);
}
init();

но он определяет позицию курсора в общем всего web листа а мне нужно чтобы только опредилялось в определенном элементе который я выбрал

var obla = document.getElementById("c");

а как дальше применить подскажите?

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
McLotos
а если попробовать сопоставить данные по курсору с данным расположения блока?
Ну т.е. найти нулевую точку блока, его размеры и сравнивать с координаторами курсора

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
bposter
ок мыслю где то далеко понял, буду пробывать, а если б на примере покажете будет вообще супер smile.gif

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
bposter
А как сохранять изображения? Записывать все в куку а потом рисовать на php или делать скриншет на php? Насчет скриншета на php не че не нашел кроме как через API сторонних сервисов

_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
vital
Гуглите еще. Из канваса наверняка есть экспорт wink.gif

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
bposter
Всем привет, помогите отколибрировать, я то понимаю что нужно отминусовать лишнее, но как то не догоняю как, есть уже переменные с координатами курсора mouse_x mouse_Y это не комерческий проект а просто практика, говорю это так как знаю что некоторые думают что пацан хочет заработать нашими мозгами. Вот к стате что уже есть пока

var c_canvas = document.getElementById("c");
var context = c_canvas.getContext("2d");

for (var x = 0.5; x < 1000; x += 10) {
context.moveTo(x, 0);
context.lineTo(x, 500);
}

for (var y = 0.5; y < 500; y += 10) {
context.moveTo(0, y);
context.lineTo(1000, y);
}


context.strokeStyle = "#eee";
context.stroke();



/*-----------------------------koordinati kursora -----------------------*/
var obla = document.getElementById("c");

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

function
init() {
if (ns4) {document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove=mousemove;
}
function mousemove(event) {
var mouse_x = y = 0;
if (document.attachEvent != null) {
mouse_x = window.event.clientX;
mouse_y = window.event.clientY;
} else if (!document.attachEvent && document.addEventListener) {
mouse_x = event.clientX;
mouse_y = event.clientY;
}
/*-----Рисуем по координатам---------*/
context.fillText("*", mouse_x, mouse_y);

document.getElementById('fao').innerHTML = "x = " + mouse_x + ", y = " + mouse_y;
}
init();


_____________
Вязание xe4.ru спицами.
Сайт для тестов (подопытный №543)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.