Javascript 在对象中携带画布ctx?
我的画布有一个对象存储为对象,我将画布存储为对象,如下所示:Javascript 在对象中携带画布ctx?,javascript,html,object,canvas,Javascript,Html,Object,Canvas,我的画布有一个对象存储为对象,我将画布存储为对象,如下所示: window.canvas = new Object(); temp = document.getElementById('canvas_id'); canvas[objname] = new Object(); canvas[objname].ctx = temp.getContext("2d"); 我遇到的问题是我无法使用ctx来绘制图像 我在绘图功能中执行此操作: 正如您所知,图像设置如下: img = new
window.canvas = new Object();
temp = document.getElementById('canvas_id');
canvas[objname] = new Object();
canvas[objname].ctx = temp.getContext("2d");
我遇到的问题是我无法使用ctx来绘制图像
我在绘图功能中执行此操作:
正如您所知,图像设置如下:
img = new Image();
img.src = 'images/0.png';
在脚本的后面部分,绘制:
canvas['canvas1'].ctx.drawImage(img.src、abposx、abposy)代码>
问题是我得到了一个类型错误,上面写着:
未捕获类型错误:类型错误
如果是因为我在对象中放置了ctx,因此不能这样调用ctx,您有什么想法吗???尝试传递图像本身,而不是图像。src
尝试以下操作:
canvas['canvas1'].ctx.drawImage(img,abposx,abposy);
我希望这有帮助
这是一个代码示例:
function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
var img = new Image();
img.src = 'images/backdrop.png';
img.onload = function(){
ctx.drawImage(img,0,0);
ctx.beginPath();
ctx.moveTo(30,96);
ctx.lineTo(70,66);
ctx.lineTo(103,76);
ctx.lineTo(170,15);
ctx.stroke();
}
}
fromobjname=='canvas1'
当您运行第一位代码时,它会运行吗?是的,它在该部分完全匹配:)