Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML5]Nałożenie obrazków na obrazek
olszam
post
Post #1





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


Mam pytanko, chciałbym w canvas nałożyć parę obrazków na tło, normlanie najpierw tło a potem na niego jakieś inne mniejsze obrazki.
  1. $('button').on('click',function(){
  2. var c = document.getElementById('myCanvas');
  3. var ctx = c.getContext("2d");
  4. var img = new Image();
  5. img.src = $(location).attr('href')+'/img/'+$('#frames option:selected').val();
  6. var img1 = new Image();
  7. img1.src = $(location).attr('href')+'/img/'+$('#merc1 option:selected').val();
  8. var img2 = new Image();
  9. img2.src = $(location).attr('href')+'/img/'+$('#merc2 option:selected').val();
  10. var img3 = new Image();
  11. img3.src = $(location).attr('href')+'/img/'+$('#merc3 option:selected').val();
  12. var img4 = new Image();
  13. img4.src = $(location).attr('href')+'/img/'+$('#merc4 option:selected').val();
  14. var img5 = new Image();
  15. img5.src = $(location).attr('href')+'/img/'+$('#merc5 option:selected').val();
  16. var img6 = new Image();
  17. img6.src = $(location).attr('href')+'/img/'+$('#merc6 option:selected').val();
  18. var img7 = new Image();
  19. img7.src = $(location).attr('href')+'/img/'+$('#merc7 option:selected').val();
  20. var img8 = new Image();
  21. img8.src = $(location).attr('href')+'/img/'+$('#merc8 option:selected').val();
  22. var img9 = new Image();
  23. img9.src = $(location).attr('href')+'/img/'+$('#merc9 option:selected').val();
  24.  
  25. var xyframe = [
  26. [27,3,80,97],
  27. [112,3,80,97],
  28. [201,3,80,97],
  29. [27,128,80,97],
  30. [112,128,80,97],
  31. [201,128,80,97],
  32. [27,252,80,97],
  33. [112,252,80,97],
  34. [201,252,80,97],
  35. ];
  36. img.onload = function(){
  37. ctx.drawImage(img, 0, 0,307,382);
  38. }
  39. img1.onload = function(){
  40. ctx.drawImage(img1,xyframe[0][0],xyframe[0][1],xyframe[0][2],xyframe[0][3]);
  41. }
  42. img2.onload = function(){
  43. ctx.drawImage(img2,xyframe[1][0],xyframe[1][1],xyframe[1][2],xyframe[1][3]);
  44. }
  45. img3.onload = function(){
  46. ctx.drawImage(img3,xyframe[2][0],xyframe[2][1],xyframe[2][2],xyframe[2][3]);
  47. }
  48. img4.onload = function(){
  49. ctx.drawImage(img4,xyframe[3][0],xyframe[3][1],xyframe[3][2],xyframe[3][3]);
  50. }
  51. img5.onload = function(){
  52. ctx.drawImage(img5,xyframe[4][0],xyframe[4][1],xyframe[4][2],xyframe[4][3]);
  53. }
  54. img6.onload = function(){
  55. ctx.drawImage(img6,xyframe[5][0],xyframe[5][1],xyframe[5][2],xyframe[5][3]);
  56. }
  57. img7.onload = function(){
  58. ctx.drawImage(img7,xyframe[6][0],xyframe[6][1],xyframe[6][2],xyframe[6][3]);
  59. }
  60. img8.onload = function(){
  61. ctx.drawImage(img8,xyframe[7][0],xyframe[7][1],xyframe[7][2],xyframe[7][3]);
  62. }
  63. img9.onload = function(){
  64. ctx.drawImage(img9,xyframe[8][0],xyframe[8][1],xyframe[8][2],xyframe[8][3]);
  65. }
  66. });


Ogólnie jest ok gdy tło będzie miało w odpowiednich miejscach przezroczystość wyciętą, ale jak dam jakiegoś jpga to już mi zakryje wszystko. Próbowałem w odpowiedniej kolejności poprzestawiać kod z tłem ale nadal nie wychodzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Najpierw piszesz, że chcesz nałożyć tło, a potem obrazki, a pod kodem piszesz, że kiedy tło będzie jpgiem to przykryje (jak było na wierzchu - nad obrazkami).

Jakie jest Twoje pytanie?


--------------------
Go to the top of the page
+Quote Post
olszam
post
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


Jak dokładnie mam określić pytanie to tak:
Co zrobić by najpierw wygenerowało tło a potem nałożyć na niego obrazki?
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Najpierw nałożyć tło, a potem obrazki...


--------------------
Go to the top of the page
+Quote Post
olszam
post
Post #5





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


to akurat działa gdy zrobię dla rysowania tła inne zdarzenie np. inny button do niego, a jeśli ma być w jednym to tylko gdy wcisnę settimeout to co jest w img od 1 do 9 (bez zwykłego img bo to jest tło), inaczej nie chce mi pójść.
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Trudno mi Ciebie zrozumieć, szczególnie ostatnią wypowiedź.
Nie wiem czy o to chodzi, ale wsadź ładowanie obrazków do funkcji onload dla tła (po drawImage).


--------------------
Go to the top of the page
+Quote Post
olszam
post
Post #7





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


a dobra czaje, bo wcześniej tak próbowałem to wcale nie chciało mi działać i za każdym razem dawałem onload dla każdego obrazka, teraz jest git smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 15:37