AntV
AntV Infographic
文档
参考
示例
AI
企业版

目录

  • Overview
  • 资源配置方式
  • 字符串形式
  • 对象形式
  • 内置资源协议
  • 1. SVG 资源
  • 2. 远程 URL
  • 3. Base64 图片
  • 快速开始
    • 入门指南
    • 信息图语法
  • 核心概念
    • 设计
    • 模版
    • 数据
    • 主题
    • 资源
  • 自定义设计
    • 自定义结构
    • 自定义数据项
    • 自定义模版
    • 自定义主题
    • 自定义色板
    • 自定义字体
    • 自定义资源加载器
    • 自定义图案
  • 信息图理论
    • 信息图分类
    • 核心理论
    • 信息图构成要素
    • 信息图设计
  • 参与贡献
    • 项目介绍
    • 开源计划
    • 贡献指南
    • 代码规范
    • 提交 PR
文档
核心概念

资源

@antv/infographic 框架本身不提供任何资源服务。如果你的信息图中使用了图标或插图资源,需要自行实现资源加载逻辑。

框架支持两种方式:

  1. 内置协议 - 使用 Data URI 直接嵌入资源(无需注册加载器)
  2. 自定义加载器 - 注册加载器从你的服务加载资源

资源配置方式

在数据中,icon 和 illus 属性可以配置资源:

{ "data": { "items": [ { "icon": "<ResourceConfig 或 字符串>", "illus": "<ResourceConfig 或 字符串>" } ] } }

字符串形式

字符串会被自动解析为 ResourceConfig 对象:

// 直接使用字符串 icon: 'data:image/svg+xml,<svg>...</svg>'; icon: 'data:text/url,https://example.com/icon.svg'; illus: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...';

对象形式

可以直接提供 ResourceConfig 对象:

interface ResourceConfig { type: 'image' | 'svg' | 'remote' | 'custom'; data: string; [key: string]: any; // 可以添加自定义属性 }

内置资源协议

框架内置了几种资源协议,无需注册加载器即可使用:

1. SVG 资源

使用 Data URI 格式的 SVG,以 data:image/svg+xml, 开头,后面为 SVG 字符串:

{ "data": { "items": [ { "icon": "data:image/svg+xml,<svg>...</svg>" } ] } }

2. 远程 URL

通过 Data URI 包装远程 URL,以 data:text/url, 开头,后面为资源的完整 URL:

{ "data": { "items": [ { "icon": "data:text/url,https://example.com/icon.svg" } ] } }

Warning

远程资源加载可能受到 CORS 限制,请确保资源服务器配置了正确的跨域响应头。

3. Base64 图片

使用 Base64 编码的图片,以 data:image/<format>;base64, 开头,后面为 Base64 编码字符串:

{ "data": { "items": [ { "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..." } ] } }

上一章主题
下一章自定义设计

AntV Infographic
Copyright © Ant Group Co.
文档
快速开始
核心概念
自定义设计
信息图理论
API 参考
JSX
API
设计资产
更多
更多示例
AI 在线体验
GitHub
参与贡献
友情链接
AntV
G2
G6
L7
{
"data": {
"items": [
{
"icon": "<ResourceConfig 或 字符串>",
"illus": "<ResourceConfig 或 字符串>"
}
]
}
}
// 直接使用字符串
icon: 'data:image/svg+xml,<svg>...</svg>';
icon: 'data:text/url,https://example.com/icon.svg';
illus: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...';
interface ResourceConfig {
type: 'image' | 'svg' | 'remote' | 'custom';
data: string;
[key: string]: any; // 可以添加自定义属性
}
{
"data": {
"items": [
{
"icon": "data:image/svg+xml,<svg>...</svg>"
}
]
}
}
{
"data": {
"items": [
{
"icon": "data:text/url,https://example.com/icon.svg"
}
]
}
}
{
"data": {
"items": [
{
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}
]
}
}