0

你好 stackoverflow 社区

我是 KineticJS 的新手,在将图像加载到画布元素时遇到了一些问题。如果我运行我的小片段,我会收到此错误:

TypeError:值无法转换为以下任何一种:HTMLImageElement、HTMLCanvasElement、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>

感谢您立即提供任何帮助。

4

1 回答 1

1
  1. 您不需要使用var来设置对象的属性。摆脱var你设置的地方dia_bg.src
  2. 更改fillPatternImage: dia_bg.srcfillPatternImage: dia_bg

在这里它在小提琴中工作:http: //jsfiddle.net/kcSWA/

于 2013-03-08T09:47:07.743 回答