Base64'te kodlanmış bir PNG görüntüsünü tuval öğesine yüklemek istiyorum. Bu koda sahibim:
<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>
Chrome 8'de şu hatayı alıyorum: Uncaught TypeError: Type error
Ve Firefox'un Firebug'ında şu: "Bir nesnenin türü, nesneyle ilişkilendirilmiş beklenen parametre türü ile uyumsuz" kod: "17"
Bu base64'te, GIMP'de yaptığım 5x5px siyah PNG kare var ve onu GNU / Linux'un base64 programında base64'e çeviriyorum.
src
, çünküonload
resmin yüklenmesinin bittiğinden emin olmak için geri aramayı kullanmanız gerekiyor . Görüntünün yüklenmesi bitmediği için testlerimin% 50'si başarısız oldu.