Javascript 尝试加载图像时出错

Javascript 尝试加载图像时出错,javascript,html,canvas,kineticjs,Javascript,Html,Canvas,Kineticjs,你好,stackoverflow社区 我是KineticJS新手,在将图像加载到画布元素时遇到一些问题。 如果我运行我的小代码段,会出现以下错误: TypeError:无法将值转换为以下任意值:HTMLImageElement、HtmlCanvaElement、HTMLVideoElement 但是如何将其转换为所需的类型 它的全部代码: <!DOCTYPE HTML> <html> <head> </head> <body>

你好,stackoverflow社区

我是KineticJS新手,在将图像加载到画布元素时遇到一些问题。 如果我运行我的小代码段,会出现以下错误:

TypeError:无法将值转换为以下任意值:HTMLImageElement、HtmlCanvaElement、HTMLVideoElement

但是如何将其转换为所需的类型

它的全部代码:

<!DOCTYPE HTML>
<html>
 <head>
 </head>
 <body>
  <div id="container"></div>
  <script src="kinetic-v4.3.1.min.js"></script>
  <script>

  var dia_bg = new Image();
  var dia_bg.src = 'http://www.m133.wallerdeknaller.ch/script/dia_img/bg_diagramm.jpg';

  dia_bg.onload = function() {
   var stage = new Kinetic.Stage({
    container: 'container',
    width: 578,
    height: 200
   });

   var layer = new Kinetic.Layer();

   var test = new Kinetic.Rect({
    x: 220,
    y: 50,
    width: 200,
    height: 100,
    fillPatternImage: dia_bg.src,
   });

   layer.add(test);
   stage.add(layer);
  }
  </script>
 </body>
</html>

var dia_bg=新图像();
变量dia_bg.src=http://www.m133.wallerdeknaller.ch/script/dia_img/bg_diagramm.jpg';
dia_bg.onload=函数(){
var阶段=新的动力学阶段({
容器:'容器',
宽度:578,
身高:200
});
var layer=新的动能层();
var测试=新的动能.Rect({
x:220,
y:50,
宽度:200,
身高:100,
填充图案图像:dia_bg.src,
});
层。添加(测试);
阶段。添加(层);
}
谢谢你的帮助

  • 您不需要使用
    var
    来设置对象的属性。去掉设置
    dia_bg.src
    var
  • fillPatternImage:dia_bg.src
    更改为
    fillPatternImage:dia_bg

  • 在这里,它是一把小提琴:

    如此简单的解决方案。。。太多了!