翻遍Cesium文档未能发现border相关内容,但src支持canvas格式索性通过canvas添加图片。
/**
* 为图形添加边框
* @param entity cesium实体
* @param url 图片地址
* @param color 边框颜色
*/
export const addBorderToImage = (entity, url,color = 'green') => {
const canvas = document.createElement('canvas');
canvas.width = entity.billboard.width
canvas.height = entity.billboard.height
const ctx = canvas.getContext('2d')
let image = new Image()
image.crossOrigin = "anonymous";
image.width = canvas.width
image.height = canvas.height
image.onload = () => {
ctx.drawImage(image,0,0, canvas.width, canvas.height)
ctx.strokeStyle = color
ctx.lineWidth = 6
ctx.rect(0,0,canvas.width,canvas.height)
ctx.stroke()
entity.billboard.image = canvas
}
image.src = url
}