Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Canvas] Rysowanie obrazków (drawImage) z tablicy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
markuz
Witam,

Może ktoś z Was miał podobny problem. Na początek kod:

[JAVASCRIPT] pobierz, plaintext
  1. ...
  2. var images = [];
  3. for(var j = 0; j <= ribbons_on_lines.length; j++) {
  4. ...
  5. var length = images.push(new Image());
  6. var index = length - 1;
  7. images[index].onload = function() {
  8. canvas.drawImage(this, line.x1, line.y1);
  9. };
  10. images[index].src = ribbon.src.substr(1);
  11. }
  12. ...
[JAVASCRIPT] pobierz, plaintext


Problem tkwi w tym, że zawsze rysowany jest tylko ostatni obrazek. Ma ktoś pomysł jak to rozwiązać?
nospor
canvas.drawImage(this, line.x1, line.y1);
Przeciez to rysujesz dopiero gdy zaladuje sie obraz, a obraz sie zaladuje pewnie dopiero po skonczeniu petli, a co za tym idzie wartosc LINE bedzie ostatnią zapisaną wartością
markuz
[JAVASCRIPT] pobierz, plaintext
  1. var drawImage = function(canvas, src, x, y) {
  2. var image = new Image();
  3. image.onload = function() {
  4. canvas.drawImage(this, x, y);
  5. }
  6. image.src = src;
  7. }
  8.  
  9. ...
  10. for(var j = 0; j <= ribbons_on_lines.length; j++) {
  11. ...
  12. drawImage(canvas, ribbon.src.substr(1), line.x1, line.x2);
  13. }
[JAVASCRIPT] pobierz, plaintext


Rozwiązałem to w ten sposób. Dzięki za podpowiedź wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.