Sto usando glfx.js per modificare la mia immagine ma quando sto cercando di ottenere i dati di quell'immagine usando la funzione toDataURL()
ottengo un'immagine vuota (larghezza delle stesse dimensioni dell'originale Immagine).Canvas toDataURL() restituisce un'immagine vuota solo in Firefox
La cosa strana è che in Chrome la sceneggiatura funziona perfettamente.
Quello che voglio dire è che l'immagine viene caricata nel canvas
utilizzando l'evento onload:
img.onload = function(){
try {
canvas = fx.canvas();
} catch (e) {
alert(e);
return;
}
// convert the image to a texture
texture = canvas.texture(img);
// draw and update canvas
canvas.draw(texture).update();
// replace the image with the canvas
img.parentNode.insertBefore(canvas, img);
img.parentNode.removeChild(img);
}
anche il percorso della mia immagine è sullo stesso dominio;
Il problema (in Firefox) è quando premo il pulsante Salva. Chrome restituisce il risultato previsto ma Firefox restituisce questo:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7YAAAIWCAYAAABjkRHCAAAHxklEQVR4nO3BMQEAAADCoPVPbQZ/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
... [ lots of A s ] ...
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAzwD6aAABkwvPRgAAAABJRU5ErkJggg==
Cosa potrebbe causare questo risultato e come posso risolvere il problema?
L'immagine si sta modificando sullo stesso dominio? Giusto per escludere l'ovvio. – A1rPun
Sì, lo è. Modificherò il mio post per menzionarlo! C'è un problema in Firefox (e non in Chrome) con immagini che non si trovano sullo stesso dominio? – boyd
Sembra un'operazione asincrona che si svolge da qualche parte. Se l'immagine non viene caricata quando viene richiamato toDataURL(), il canvas sarà vuoto. – K3N