如何从本地图像对象显示高图系列线标记符号?

时间:2017-08-22 23:44:05

标签: javascript highcharts

我试图在Highcharts中获得一些自定义符号。我目前正在遵守规范:

marker: {
  symbol: 'url(https://www.highcharts.com/samples/graphics/sun.png)'
}

然而,这需要网络呼叫,我试图通过预先缓存图像来避免这种呼叫。我在加载图表之前创建了一个自定义图像。

var sun = new Image();
sun.src = 'https://www.highcharts.com/samples/graphics/sun.png'

正如预期的那样,此代码会预加载图片(如Chrome Developer Console的网络标签中所示),但是当我加载图表时,相同的网址会再次加载。我的猜测是这对Highchart库来说是特别的。

我还尝试将符号值直接设置为symbol: sun这样的图像,但这并不起作用。

我想知道如何处理这个问题。也许将本地图像转换为blob,然后将其设置为符号的值?我会尝试,但欢迎任何其他想法。

1 个答案:

答案 0 :(得分:0)

我找到了答案。事实证明,我们可以将图像转换为base 64,然后将其设置为符号。而不是100 - 800毫秒的加载时间,我得到< 100微秒。