Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak stworzyć taką aplikację.
RosheD
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 10.06.2013

Ostrzeżenie: (0%)
-----


Witam bardzo serdecznie (IMG:style_emoticons/default/smile.gif) Czuje się już sławny na tym forum po przez tyle zadawanych pytań (IMG:style_emoticons/default/smile.gif) .
Więc jak stworzyć aplikację internetową która na przykład będzie zmieniała na obrazku kolor farby na ścianie po przez wybraną opcje?
Myślałem nad tym i jedyne co mi przychodzi na myśl to wycięcie tej ściany w photoshopie jako 2 obrazki. Później w css zrobić tak aby były idealnie takie same i za każdym razem gdy ktoś wybierze daną opcje wczyta dany obrazek bez refresh dzięki ajax. Ale czy da się to zrobić łatwiej bez konieczności własnoręcznego kolorowania ściany w photoshopie do każdej możliwości ?
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




HTML5 - canvas.
Go to the top of the page
+Quote Post
RosheD
post
Post #3





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 10.06.2013

Ostrzeżenie: (0%)
-----


I jak za pomocą tego na przykład mogę zmienić wspomnianą wcześniej farbę na ścianie? Musze na tym jednym obrazku za pomocą tego wyciąć całą tą ścianę i do jakiejś zmiennej po prostu kolor?
Go to the top of the page
+Quote Post
!*!
post
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Na zdjęciu zaznaczasz odpowiednie sektory poprzez map area w html5 http://www.html-5-tutorial.com/map-and-area-elements.htm
zaznaczony obszar ma obejmować daną ścianę, lub cokolwiek innego (poszukaj w necie gotowców do tworzenia takich map, jest tego od groma na podstawie wgranego zdjęcia). Koordynaty przesyłasz do elementu canvas i w zależności jaki kolor wybrałeś w obszarze mapy zmieniasz kolor/nakładasz teksturę.
Go to the top of the page
+Quote Post
RosheD
post
Post #5





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 10.06.2013

Ostrzeżenie: (0%)
-----


Czyli mniej więcej tak to wprowadzać?
  1. <area shape="poly" coords="181, 238, 184, 264, 145, 264, 141, 246" style="background: #eee;" />
  2. <area shape="poly" coords="144, 265, 181, 268, 182, 277, 149, 277" />
  3. <area shape="poly" coords="67, 295, 68, 331, 81, 334" />
  4. <area shape="poly" coords="1, 222, 179, 203, 179, 244, 141, 245, 111, 247, 84, 253, 63, 259, 56, 261, 60, 276, 59, 282, 60, 315, 59, 332, 0, 355" />
  5. <area shape="poly" coords="4, 17, 1, 0, 496, 0, 498, 73, 258, 91" />
  6. <area shape="poly" coords="6, 23, 259, 90, 181, 201, 1, 218" />


I teraz do canvas (wprowadziłem pierwszą linijkę) :

var c2 = document.getElementById('c').getContext('2d');
c2.fillStyle = '#000';
c2.beginPath();
c2.moveTo(0, 0);
c2.lineTo(181, 238);
c2.lineTo(184, 264);
c2.lineTo(145, 264);
c2.lineTo(141, 246);
c2.closePath();
c2.fill();
Go to the top of the page
+Quote Post
werdan
post
Post #6





Grupa: Zarejestrowani
Postów: 354
Pomógł: 100
Dołączył: 14.11.2013
Skąd: Płock

Ostrzeżenie: (0%)
-----


I co? Działa?

Canvasa "połóż" na obrazku, powinno śmigać.
Go to the top of the page
+Quote Post
RosheD
post
Post #7





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 10.06.2013

Ostrzeżenie: (0%)
-----


$(document).ready(function() {
var canvas = $('#test');
var context = canvas.get(0).getContext('2d');
context.fillStyle = 'rgb(156,255,40)';
context.fillRect(181, 238, 184, 264, 145, 264, 141, 246);
context.fillRect(144, 265, 181, 268, 182, 277, 149, 277);
context.fillRect(67, 295, 68, 331, 81, 334);
context.fillRect(1, 222, 179, 203, 179, 244, 141, 245, 111, 247, 84, 253, 63, 259, 56, 264, 60, 276, 59, 282, 60, 315, 59, 332, 0, 355);
context.fillRect(4, 17, 1, 0, 496, 0, 498, 73, 258, 91);
context.fillRect(6, 23, 259, 90, 181, 201, 1, 218);
});

Ni w oko to tak samo nie wygląda... Jak dokładnie ma wyglądać ten skrypt ? Z Góry wielkie dzięki za każdą odpowiedz która coś wnosi.

Ten post edytował RosheD 4.01.2014, 00:09:04
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Kod umieszczaj w odpowiednich tagach na forum.
Zapoznaj się pierw z jakimś kursem "html5 canvas".
Na kopiuj/wklej raczej tego nie zrobisz.
http://www.c-sharpcorner.com/UploadFile/99...h-html5-canvas/
Go to the top of the page
+Quote Post
RosheD
post
Post #9





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 10.06.2013

Ostrzeżenie: (0%)
-----


Ok rozumiem. A teraz jak są poukładane cordy w area ? Co jest co? Gdzie tu moveTo?

Daj my na to że jest jeden area do zakodowania pod canvas
  1. <area shape="poly" coords="67, 295, 68, 331, 81, 334" />

A więc :

window.onload = function () {
var landscape_canvas = document.getElementById("landscape1");
var ctx = landscape_canvas.getContext("2d");
ctx.fillStyle = "blue";
ctx.fillRect(0, 0, 600, 450);
ctx.beginPath();
ctx.fillStyle = "black";
ctx.moveTo(75, 25);
ctx.quadraticCurveTo(67, 295, 68, 331);
ctx.quadraticCurveTo(81, 334);
ctx.stroke();
ctx.beginPath();
}

W ten sposób miało by to wyglądać ? Co jeśli zamiast 4 pozycji zostały 2? Jak je wprowadzać?

Ten post edytował RosheD 5.01.2014, 11:18:53
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 17:26