You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mirador 3查看器中SVG多边形标注配置无效问题求助

Mirador 查看器 SVG 多边形选区标注失效排查方案

以下是按优先级排序的故障点和对应修复方式,覆盖绝大多数这类配置后不生效的场景:

  • 首先检查SVG片段的格式是否符合IIIF Presentation API要求
    不要在target字段里放完整SVG文档、裸写SVG标签,必须使用svg=作为图像请求的片段前缀,且SVG内容必须做URL编码。SVG根节点必须添加和原图原始像素尺寸完全一致的viewBox属性,多边形的points坐标必须是相对于原图全尺寸的绝对像素值,不能用0-1区间的比例值。
    错误写法示例:直接把<polygon points="0.1,0.1 0.2,0.1"/>塞到target里
    正确的片段格式参考:https://你的IIIF图像服务地址/iiif/2/对应图像ID/full/svg=<URL编码后的SVG内容>/default.jpg
  • 检查Mirador版本和初始化配置
    3.3以下版本的Mirador默认关闭非矩形选区渲染能力,必须升级到3.3及以上稳定版,同时在初始化配置里显式开启非矩形标注渲染开关,配置项为annotations.renderNonRectangular: true,该配置默认值为false,仅靠符合规范的标注文件不会触发渲染。
    如果使用的是Mirador 2.x版本,原生渲染模块仅支持xywh格式的矩形选区,没有内置SVG多边形解析能力,必须额外安装对应版本的非矩形标注渲染插件才能实现需求。
  • 检查标注JSON结构是否正确
    SVG选区内容必须作为图像资源的片段标识符写在标注的target字段中,不要把SVG代码放到标注的body字段里。符合规范的标注项结构参考:
    {
      "@context": "http://iiif.io/api/presentation/3/context.json",
      "id": "https://你的标注服务地址/annotation/001",
      "type": "Annotation",
      "motivation": "commenting",
      "body": {
        "type": "TextualBody",
        "value": "标注对应的文本内容"
      },
      "target": "https://你的IIIF图像服务地址/iiif/2/对应图像ID/full/svg=%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000/svg%22%20viewBox%3D%220%200%206000%204000%22%3E%3Cpolygon%20points%3D%221000,1000%202000,1000%202000,2000%201000,2000%22%2F%3E%3C%2Fsvg%3E"
    }
    
  • 排查跨域配置问题
    如果IIIF图像服务和Mirador部署在不同域名下,需要给图像服务配置正确的CORS响应头(Access-Control-Allow-Origin包含Mirador的部署域名),否则Canvas层渲染跨域图像的SVG选区时会被浏览器拦截,表现为选区不显示,打开浏览器控制台能看到对应的跨域报错。

内容的提问来源于stack exchange,提问作者ASAFY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 03:36:08