简介
Dash Picture Annotation是一个Dash组件包。
本组件包是对React项目React Picture Annotation的Dash移植版,用以提供针对图片的简易标记编辑器。
以下两图对比了原React项目和本项目的范例。由于本项目仅仅是原React组件的Dash封装,它们的效果可以视作是等价的。
React Picture Annotation | Dash Picture Annotation |
---|---|
相比于原项目,本项目还有以下新添加的特殊功能:
- 响应式尺寸: 标记器(annotator)的宽度会跟随其父网页元素的宽度自动调整。
- Different modes: 选中某个标记(annotation)时,其编辑器可以设为文本框、或下拉菜单。
- Data sanitized: 标记数据经过了简单清理。即使向标记器传入了格式不标准的数据,也能正常使用。
- Anti-mistakes: 可以透过设置标记框大小的阈值、防止用户由于误操作而创建微小的标记。
- Disabled: 可以透过一个二值量禁用标记器。
- Specified colors: 针对某具有特定文字标注的标记,可以设置特定的标记颜色。不同的文字标注可以设置不同的颜色。
- Dynamic colors: 不必专门为每种标注手动设置颜色,可以透过一个二值量、允许标记根据其文字标注的哈希量(hash code)自动计算其颜色。
Dash Picture Annotation的视频展示
透过以下视频展示,速览本项目的特性:
用法
以下签名展示了本组件的基本用途。
import dash_picture_annotation as dpa
dpa.DashPictureAnnotation(
id="annotator",
style={"height": "80vh"},
data=default_data, # Can be `None`
image="/assets/test_image.svg", # Can be `None`
options=None,
)
其中data
的类型标记为dpa.Annotations
。其格式形如下例:
{
"timestamp": 0,
"data": [
{
"id": "N5fewQ",
"mark": {
"x": -224.45,
"y": 62.76,
"width": 125.53,
"height": 125.53,
"type": "RECT"
},
"comment": "has-a-type"
},
{
"id": "ibJMdK",
"mark": {
"x": -36.15,
"y": 62.76,
"width": 125.53,
"height": 125.53,
"type": "RECT"
}
},
{
"id": "...",
"...": "..."
}
]
}
在此处查看一个完整的最小范例。
在此处查看一个完整的综合应用范例,其中展示了基本功能。
鸣谢
- Kunduin/react-picture-annotation: 本项目的原始React版本。
相关材料
更新手记:
本项目的许可证:
合作与贡献指南:
贡献者利用规约:
漏洞防治与安全策略: