Autor Zpráva
smala
Profil *
Dobry den,
mam problem, pri vykreslovani obrazku do canvasu a nasledneho ziskani dat z canvasu je problem, ze i kdyz nejprve vykresluji obrazek, tak cteni probehne driv nez jsou data do catvasu vykreslena.

ctx.drawImage(img,0,0);  
var imgd = ctx.getImageData(0, 0, width, height);

mi nefunguje, do "imgd" se nactou predchozi data, ne obrazek "img" .. co s tim? nejaky img.onload nebo neco takoveho?
Dekuji za odpoved.
Darker
Profil
To je dost divné. Jsi si jistý že za další sekundu už se načítají data co chceš? Pokud ano, použit timeout, i když to není moc elegantní řešení. Mě se to ale moc nezdá, že by ta vykreslovací funkce byla asynchronní.
smala
Profil *
me to prave taky prijde divny.. timeoutem to resit nechci, protoze jak jsi sam rek, neni to elegantni.. zkousel jsem dat ten get "az pozdeji" a pak uz fungoval.. resenim by bylo, rovnou z "img" dostat ImageData, ale vsude jsem bohuzel videl, ze nejdriv vykreslujou, pak nacitaj.. mozna je chyba nekdy jinde (prohlizec,..)
Chamurappi
Profil
Reaguji na smalu:
nejaky img.onload nebo neco takoveho?
Vykreslit obrázek před jeho onloadem nejde, ne? On v tom <canvas>u snad je vidět?

resenim by bylo, rovnou z "img" dostat ImageData
Což nejde, metoda getImageData existuje pouze na kontextu v <canvas>u.
smala
Profil *
tak problem bude asi nekde jinde.. standartne pouzivam FireFox 8.0 a ten hlasi chybu:

[23:43:07.447] uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: ...]
(na radce s getInageData())

pokud to pustim v safari tak to normalne funguje.. co ale kdyz chci aby to slo ve FF?

Diky za pomoc.


Tak jsem provedl aktualizaci FireFoxu na verzi 9.0.1 a funguje to :-) .. chyba byla tedy zrejme ve verzi prohlizece...
Chamurappi
Profil
Reaguji na smalu:
chyba byla tedy zrejme ve verzi prohlizece
Ne, chyba byla, že ses snažil číst pixely z obrázku na jiné doméně, než na které je umístěna stránka. S tím pravděpodobně narazíš ve všech prohlížečích.
peta
Profil
http://axpsu.fpf.slu.cz/~web/gal-pokus/gal-pokus.htm
Tam jsou v podstate 3 moznosti. Obrazek pretahujes drag & drop do modreho pole:
- z plochy
- z teze stranky
- z jine stranky (resim pres php, viz security, kterou zminil Chamurapi, popsano v dokumentaci mozilly)
Do tohoto programku si proste obrazek pretahnes :)
Mimo to je v dokumentaci napsano, ze musis mit FF aspon 2.4 a jine veci.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: