我的任务是更改Mapbox中图标图像的图标颜色。 Mapbox允许的唯一方法是使用sdf-icons(https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/#paint-symbol-icon-color)。
经过数小时的搜索,我找不到最简单的实现方法。我发现了一个npm模块https://www.npmjs.com/package/image-sdf,但是在将其命令用于png以将其转换为sdf并在地图上呈现之后,结果并不理想。
我正在使用的命令:
image-sdf cycle-initial.png --spread 5 --downscale 1 --color black > cycle.png
以下是cycle-initial.png(INPUT):
以下是cycle.png(OUTPUT):
但使用cycle.png作为图像源并不会产生最好的效果。
代码片段:
const img = new Image();
img.addEventListener('load', () => {
this.mapInstance.addImage('circle-icon', img, { sdf: true });
}, false);
img.src = cycle;
我请求如果有人的话,请帮助我看看是否有做错什么,或者是否有正确的方法来创建sdf-icon以正确呈现。