Tôi muốn tải một hình ảnh PNG được mã hóa trong Base64 vào phần tử canvas. Tôi có mã này:
<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>
Trong Chrome 8, tôi gặp lỗi: Uncaught TypeError: Type error
Và trong Firebug của Firefox điều này: "Kiểu của một đối tượng không tương thích với kiểu dự kiến của tham số được liên kết với đối tượng" mã: "17"
Trong base64 đó là hình vuông PNG màu đen 5x5px mà tôi đã tạo trong GIMP và chuyển nó thành base64 trong chương trình base64 của GNU / Linux.
src
, vì bạn phải sử dụng lệnhonload
gọi lại để đảm bảo hình ảnh đã tải xong. 50% thử nghiệm của tôi không thành công vì hình ảnh chưa tải xong.