Skip to content

VSprite

VSprite 组件用于添加一个图标或者图片到样式中。

纹理图片网站

雪碧图文件说明

有效的雪碧图必须提供两种类型的文件:索引文件图像文件。例如:

md
"sprite": "https://mhaibaraai.github.io/mapbox/sprite/light-v11"
  • 自动生成完整的 URL,.json 用于索引文件,.png 用于图像文件:

    https://mhaibaraai.github.io/mapbox/sprite/light-v11.jsonhttps://mhaibaraai.github.io/mapbox/sprite/light-v11.png

  • 自动将 @2x 附加到 高DPI 设备上

    https://mhaibaraai.github.io/mapbox/sprite/light-v11@2x.jsonhttps://mhaibaraai.github.io/mapbox/sprite/light-v11@2x.png

添加雪碧图文件

VMapbox 组件中添加 sprite 属性。

vue
<VMapbox sprite="https://mhaibaraai.github.io/mapbox/sprite/dark-v11" />

添加自定义图标

使用 VSprite 组件添加自定义图标

API

spriteProps

属性名说明类型默认值
id图标 IDstring必填
image图像(可为 SVG)string | object必填
iconColor图标颜色(仅支持 SVG)string-
options图标选项object-

类型定义

SpriteImageData

plugin/Sprite/Sprite.ts
typescript
export type SpriteImageData = HTMLImageElement | ImageBitmap | ImageData | StyleImageInterface | {
  width: number
  height: number
  data: Uint8Array | Uint8ClampedArray
}

SpriteOptions

plugin/Sprite/Sprite.ts
typescript
export interface SpriteOptions {
  pixelRatio: number
  sdf: boolean
  content: [number, number, number, number]
  stretchX: [number, number][]
  stretchY: [number, number][]
}

基于 MIT 许可发布