gpt4 book ai didi

javascript - Kinetic.js - 图像不显示

转载 作者:行者123 更新时间:2023-12-01 06:15:56 24 4
gpt4 key购买 nike

我正在构建一个应显示不同类型图表的应用程序。应该显示两张或多张按用户得分定位的图像。好的,这与问题无关。所以我写了一个 jQuery 插件,它通过 json 接收值来绘制图形。

插件首先调用一个绘制图形线条的函数(有效),另一个函数在图形后面绘制网格(也有效)。

现在的问题是:主要部分遍历值数组并将 Kinetic.image 对象添加到返回并添加到舞台的层。:

$.each(this.data, function(key, value) {
$.each(value, function(secKey, secValue){
secValue.X = Math.floor((secValue.X - minX) * scaleX) + xOffset;
secValue.Y = Math.floor(yOffset + ((minY - secValue.Y) * scaleY));
coords.push(secValue);
});
});

$.each(coords, function(key, value){
var imageObj = new Image();
imageObj.src = value.image;
imageObj.onload = function() {
var image = new Kinetic.Image({
x: value.X,
y: value.Y,
image: imageObj,
width: 180,
height: 180
});

// add the shape to the layer
pictures.add(image);

};
});

return Array(pictures, popup);

最后呈现的页面有 4 个 Canvas 对象。而且,当我在 console.log() 阶段时,其中有图形、网格、图片和弹出窗口的图层,但未显示的是图像。图像的来源是可用的。检查了几次。

有没有人知道问题出在哪里?

提前致谢。

马蒂亚斯

最佳答案

你确认imageObj.onload正在执行了吗?由于浏览器缓存,在定义 imageObj onload 函数后设置 imageObj 的来源是标准做法。

接下来,您还需要确保在使用 layer.draw() 加载图像时重新绘制图层;回想一下,KineticJS 层不会在出于性能原因发生变化时自动重绘

关于javascript - Kinetic.js - 图像不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12578712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com