2016-03-18 18 views
5

Nie byłem pewien, w którym miejscu na świecie mógłbym opublikować ten ... Więc mam pomysł na wykonanie małej zabawki do rysowania, ale nie jestem pewien, w jaki sposób mógłbym to zaimplementować (na poziom struktury danych) ...wspólny rysunek/rysowanie na żywo

Chciałbym mieć okno 1920 x 1080, w którym mogę mieć pędzel i rysować linie (tak jak farba), ale tutaj jest kopacz. Chcę móc zapisać ten rysunek w czasie rzeczywistym. Chodzi o to, że mogę otworzyć przeglądarkę internetową i obserwować, jak rysuję z innego okna ... w zasadzie na zasadzie współpracy.

Czy to już zostało zrobione i czy są jakieś projekty, które każdy może mi wskazać, w jaki sposób mogę zacząć to rozwijać?

Podobny post był do tego, ale miał trzy lata i chciałbym otrzymać jakiś nowy wkład.

Największym pytaniem jest szczególnie najlepsza struktura danych można używać do przechowywania tego w bazie danych do edycji w czasie rzeczywistym (lub jeśli jest to nawet dobre rozwiązanie)

dzięki !! :)

+3

Czy obejrzałeś [WebSockets] (http://caniuse.com/#feat=websockets)? –

+1

Zrobiłem taki projekt. To było 2 lata temu i tylko wersja alfa. Ale myślę, że nadal jest to dobry sposób na zrobienie tego. Użyłem nodejs i websocket. Możesz znaleźć projekt tutaj: https://github.com/Clemzd/collaborativeCanvas – Clemzd

+1

Opracowałem coś takiego, a rozwiązaniem był websocket. – wawawoom

Odpowiedz

5

Byłoby to stosunkowo proste do zrobienia.

Z aspekcie opartej internetowej ...

Można użyć coś jak HTML5 Canvas.

Następnie można użyć JavaScript i zrobić coś takiego:

document.onmousemove = function(event){ 
xcoor = event.pageX; 
ycoor = event.pageY; 
} 

przechwytywanie ruchów myszy, gdy poruszasz myszą.

Można również użyć kodu położyć koło lub kwadrat (kwadrat w tym przypadku, ale można użyć koło łatwo) w następujący sposób:

document.onmousemove = function(event){ 
xcoor = event.pageX; 
ycoor = event.pageY; 
mapcan.fillStyle = "#000000"; 
mapcan.fillRect(-1*(11617845.3461), -1*(8093417.14653), 10, 10); 
} 

Teraz można użyć PHP lub inny język, aby wstawić łączy się z bazą danych.

Próba wykonania edycji na żywo dla wielu użytkowników jest w najlepszym wypadku skomplikowana. Sugerowałbym zamiast tego trzymanie się widoku na żywo.

Chociaż wymaga to dużej ilości zasobów, będzie działać.

Mam nadzieję, że to pomoże, jeśli zdecydujesz się go zbudować!

+0

Podoba mi się to! Co jest tak interesujące z tego powodu, bo chcę, aby móc to zrobić z IOS, dlatego baza danych. Zasadniczo, to, czego chcę, to móc mieć wyraźny obraz z powrotem na ziemi, dzięki czemu mogę bawić się rysując wąsy i wszystko, co jest na ekranie. Mam już jasne aplikacje na moim komputerze, ale cały pomysł polega na tym, że mogę siedzieć tam na iPhonie i rysować na ekranie komputera. –

+0

Hmmmm ... Czy analizowałeś programy do współpracy online, szybkie wyszukiwanie w Google powinno prezentować kilka? –

+0

To ten, który widziałem dawno temu, który podobał mi się. https: // github.com/byrichardpowell/draw Moim jedynym zmartwieniem jest rozwijanie go wyłącznie w Internecie, a następnie niemożność połączenia go z aplikacją ios. –