• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Canvas hat Probleme mit lokalen Bildern rendern

Tim Lorens

Mitglied
Hallu,

ich arbeite zur Zeit recht viel mit Canvas um auf dieser Basis einen Editor zur schreiben.
Bis ich angefangen habe Bilder zu rendern (vom lokalen Server) hat auch alles geklappt nur werden die Bilder, die ich haben möchte teilweise entweder garnicht gerendert oder eines nur teilweise (Dieses besteht hier aus mehreren Teilen einer Grafik, aufeinandergesetzt usw.)

Vorrab möchte ich erstmal keinen Code posten, da das Projekt bzw. der Editor privat ist und ich es ja sein könnte, dass jemand von euch schon mit sowas Erfahrung gemacht haben könnte und zufälligerweise weiß wie ich das Problem (am besten Lösen kann) :p

-Tim
 
Werbung:
Hallu,

ich arbeite zur Zeit recht viel mit Canvas um auf dieser Basis einen Editor zur schreiben.
Bis ich angefangen habe Bilder zu rendern (vom lokalen Server) hat auch alles geklappt nur werden die Bilder, die ich haben möchte teilweise entweder garnicht gerendert oder eines nur teilweise (Dieses besteht hier aus mehreren Teilen einer Grafik, aufeinandergesetzt usw.)

Vorrab möchte ich erstmal keinen Code posten, da das Projekt bzw. der Editor privat ist und ich es ja sein könnte, dass jemand von euch schon mit sowas Erfahrung gemacht haben könnte und zufälligerweise weiß wie ich das Problem (am besten Lösen kann) :p

-Tim

Cross Domain Problem?
http://davidwalsh.name/cross-domain-canvas-images
 
Werbung:
Stimmt, eigentlich. Keiner Fehlermeldung nichts - das Bild wird einfach nichtmehr gezeichnet.

Davon abgesehen: Manchmal wird's gezeichnet (eher selten) und halt meistens garnicht.

EDIT: Ich weiß nicht obs relevant ist, aber der Editor (wegen Controls usw.) wird alle 16,6ms neu gezeichnet. Ich bin mir hierbei fast sicher, dass es hier ne schönere Methode gibt.

EDIT2: Okay... das Bild wird gezeichnet solange ich ne "alert();" offen habe.. drücke ich auf OK ist das Bild wieder weg.. irgendwas läuft da doch schief? o.0
 
Zuletzt bearbeitet:
Stimmt, eigentlich. Keiner Fehlermeldung nichts - das Bild wird einfach nichtmehr gezeichnet.

Davon abgesehen: Manchmal wird's gezeichnet (eher selten) und halt meistens garnicht.

EDIT: Ich weiß nicht obs relevant ist, aber der Editor (wegen Controls usw.) wird alle 16,6ms neu gezeichnet. Ich bin mir hierbei fast sicher, dass es hier ne schönere Methode gibt.

EDIT2: Okay... das Bild wird gezeichnet solange ich ne "alert();" offen habe.. drücke ich auf OK ist das Bild wieder weg.. irgendwas läuft da doch schief? o.0

Komisch.
Wird die Größe des Canvas fortlaufend verändert bzw. gesetzt (ohne Veränderung)?
Das führt ja dazu dass die Zeichenfläche geleert wird.
zB canvas.width = 500;
 
Werbung:
Werbung:
Für mich klingt das danach, als ob 16,6ms einfach nicht ausreichen, das Bild zu rendern. Ein Alert blockt den Scriptablauf, bis OK gedrückt wird, dadurch hat er dann genug Zeit.
 
Yup, klingt logisch. Ich hab das jetzt soweit aufgebaut, dass das Canvas-Element nur dann aktuallisiert wird, wenn benötigt. Heißt beim Mousemove & beim Mouseclick Event, sonst würde mir das Teil zu viel CPU fressen.

Der "Avatee" wird nun auch gerendert aber nur wenn ich meine Maus bewege und auch nur blinkend - schonmal besser (:
 
Zurück
Oben