Voglio caricare un'immagine PNG codificata in Base64 nell'elemento canvas. Ho questo codice:
<html>
<head>
</head>
<body>
<canvas id="c"></canvas>
<script type="text/javascript">
var canvas = document.getElementById("c");
var ctx = canvas.getContext("2d");
data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAIAAAACDbGyAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oMCRUiMrIBQVkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAADElEQVQI12NgoC4AAABQAAEiE+h1AAAAAElFTkSuQmCC";
ctx.drawImage(data, 0, 0);
</script>
</body>
</html>
In Chrome 8 ottengo l'errore: Uncaught TypeError: Type error
E nel Firebug di Firefox questo: "Il tipo di un oggetto non è compatibile con il tipo previsto del parametro associato all'oggetto" codice: "17"
In quel base64 c'è un quadrato PNG nero di 5x5px che ho creato in GIMP e lo trasformo in base64 nel programma base64 di GNU / Linux.
src
, perché dovresti usare laonload
richiamata per assicurarti che l'immagine abbia terminato il caricamento. Il 50% dei miei test non è riuscito perché l'immagine non era stata caricata.