15 lines
7.5 KiB
HTML
15 lines
7.5 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>ref-01 · 双矩形错位与左下说明</title><style>body{margin:0;padding:20px;background:#e8e8e3;color:#222;font:15px/1.7 system-ui}main{display:grid;grid-template-columns:minmax(280px,560px) minmax(280px,1fr);gap:24px;max-width:1250px;margin:auto}.canvas{position:relative;isolation:isolate;aspect-ratio:113/171;background:#f4f3ee}.canvas img{position:absolute;display:block}.canvas .base{inset:0;width:100%;height:100%}.overlay{position:absolute;z-index:10;pointer-events:none;inset:0;width:100%;height:100%;display:none}label{display:inline-flex;gap:5px;margin-right:16px}button,a{color:#244f9d}table{width:100%;border-collapse:collapse}td,th{padding:7px;border-bottom:1px solid #bbb;text-align:left;font-size:13px}.muted{color:#666}#detail{padding:12px;background:#fff}tr{cursor:pointer}tr:focus,tr:hover{background:#fff}fieldset{border:1px solid #aaa;margin:0 0 16px}.canvas img[data-kind="text"]{z-index:3}.canvas img[data-kind="decoration"]{z-index:2}.canvas img[data-kind="image"]{z-index:1}@media(max-width:800px){main{display:block}.canvas{max-width:560px;margin:auto}aside{margin-top:24px}}</style></head><body><main><section><h1>ref-01 / 双矩形错位与左下说明</h1><div class="canvas" aria-label="按独立图层重建的原版面"><img class="base" src="/layout-reference/ref-01/background.png" alt="原图纸底与画框">
|
|
<img data-component="ref-01/T01" data-kind="text" src="/layout-reference/ref-01/T01.png" alt="BULUBLUE" style="left:7.079646017699115%;top:11.695906432748536%;width:31.858407079646017%;height:8.771929824561402%">
|
|
<img data-component="ref-01/T02" data-kind="text" src="/layout-reference/ref-01/T02.png" alt="左下说明(未辨识原字形)" style="left:6.1946902654867255%;top:70.76023391812866%;width:38.93805309734513%;height:19.883040935672515%">
|
|
<img data-component="ref-01/I01" data-kind="image" src="/layout-reference/ref-01/I01.png" alt="" style="left:21.238938053097346%;top:8.187134502923977%;width:68.14159292035397%;height:41.52046783625731%">
|
|
<img data-component="ref-01/I02" data-kind="image" src="/layout-reference/ref-01/I02.png" alt="" style="left:37.16814159292036%;top:52.046783625730995%;width:52.21238938053098%;height:40.93567251461988%">
|
|
<img data-component="ref-01/D01" data-kind="decoration" src="/layout-reference/ref-01/D01.png" alt="" style="left:36.283185840707965%;top:2.3391812865497075%;width:25.663716814159294%;height:1.7543859649122806%">
|
|
<img data-component="ref-01/D02" data-kind="decoration" src="/layout-reference/ref-01/D02.png" alt="" style="left:25.663716814159294%;top:92.39766081871345%;width:51.32743362831859%;height:4.678362573099415%">
|
|
<img class="overlay" src="/layout-reference/ref-01/annotated.png" alt="构件标注"></div><p class="muted">原图第 1 行、第 2 列;113×171 像素。显示为原始构件重组,无新生成图形。放大不增加细节。</p></section><aside><fieldset><legend>按类型检查</legend><label><input type="checkbox" data-toggle="text" checked>文字 T</label><label><input type="checkbox" data-toggle="image" checked>图片/色块 I</label><label><input type="checkbox" data-toggle="decoration" checked>装饰 D</label><label><input id="labels" type="checkbox">显示边界</label></fieldset><p id="detail">点击表格查看对应构件。蓝色 T 为文字、橙色 I 为图片占位/色块、绿色 D 为装饰;原图没有真实照片。</p><table><thead><tr><th>ID</th><th>分类与用途</th><th>文字内容</th></tr></thead><tbody><tr tabindex="0" data-key="T01"><td>T01</td><td>文字 / 品牌字标</td><td>BULUBLUE</td></tr><tr tabindex="0" data-key="T02"><td>T02</td><td>文字 / 左下说明</td><td>待核对,保留原字形</td></tr><tr tabindex="0" data-key="I01"><td>I01</td><td>图片占位/色块 / 上方主图</td><td>—</td></tr><tr tabindex="0" data-key="I02"><td>I02</td><td>图片占位/色块 / 下方副图</td><td>—</td></tr><tr tabindex="0" data-key="D01"><td>D01</td><td>装饰 / 顶部短线</td><td>—</td></tr><tr tabindex="0" data-key="D02"><td>D02</td><td>装饰 / 底部横线</td><td>—</td></tr></tbody></table><p><a href="/layout-reference/ref-01/manifest.json">构件 JSON</a> · <a href="/layout-reference/ref-01/source.png">原裁片</a> · <a href="/layout-reference/ref-01/annotated.png">标注图</a> · <a href="/layout-reference/index.html">27 张索引</a></p><p class="muted">修改文字会产生字体差异;替换图片会改变视觉内容。严格原图对应模式保持原字形与原颜色。构件坐标、方向与所属版面固定。</p></aside></main><script>
|
|
const manifest={"id":"ref-01","name":"双矩形错位与左下说明","source":{"url":"/layout-reference/source.png","sha256":"121ab8a362c45eee86281ca5dfbbe33577cfcd255579a16c3542530484b9f1dc","box":[135,46,113,171],"row":1,"column":2},"width":113,"height":171,"reference":"/layout-reference/ref-01/source.png","annotated":"/layout-reference/ref-01/annotated.png","background":"/layout-reference/ref-01/background.png","elements":[{"id":"T01","kind":"text","role":"品牌字标","box":[8,20,36,15],"text":"BULUBLUE","direction":"horizontal","reading":"verified","asset":"/layout-reference/ref-01/T01.png","pixels":274,"underlay":"/layout-reference/ref-01/T01-underlay.png"},{"id":"T02","kind":"text","role":"左下说明","box":[7,121,44,34],"text":null,"direction":"horizontal","reading":"unreadable","asset":"/layout-reference/ref-01/T02.png","pixels":468,"underlay":"/layout-reference/ref-01/T02-underlay.png"},{"id":"I01","kind":"image","role":"上方主图","box":[24,14,77,71],"text":null,"direction":"horizontal","reading":"not-text","asset":"/layout-reference/ref-01/I01.png","pixels":5259,"mask":"/layout-reference/ref-01/I01-mask.png"},{"id":"I02","kind":"image","role":"下方副图","box":[42,89,59,70],"text":null,"direction":"horizontal","reading":"not-text","asset":"/layout-reference/ref-01/I02.png","pixels":4097,"mask":"/layout-reference/ref-01/I02-mask.png"},{"id":"D01","kind":"decoration","role":"顶部短线","box":[41,4,29,3],"text":null,"direction":"horizontal","reading":"not-text","asset":"/layout-reference/ref-01/D01.png","pixels":55},{"id":"D02","kind":"decoration","role":"底部横线","box":[29,158,58,8],"text":null,"direction":"horizontal","reading":"not-text","asset":"/layout-reference/ref-01/D02.png","pixels":167}],"ocr":[{"box":[0.07374631491782553,0.12865497059314956,0.31268436578171094,0.06237816764132553],"confidence":0.5,"text":"BULUBLUE"}],"verification":{"pixelIdentical":true,"pixels":19323,"unreadableText":1}};
|
|
for(const input of document.querySelectorAll('[data-toggle]'))input.addEventListener('change',()=>{for(const el of document.querySelectorAll('[data-kind="'+input.dataset.toggle+'"]'))el.style.visibility=input.checked?'visible':'hidden'});
|
|
document.getElementById('labels').addEventListener('change',event=>{document.querySelector('.overlay').style.display=event.target.checked?'block':'none'});
|
|
for(const row of document.querySelectorAll('[data-key]')){const select=()=>{const e=manifest.elements.find(e=>e.id===row.dataset.key);for(const el of document.querySelectorAll('[data-component]'))el.style.outline=el.dataset.component.endsWith('/'+e.id)?'2px solid #ed4433':'';document.getElementById('detail').textContent=manifest.id+'/'+e.id+' · '+e.kind+' · '+e.role+' · bbox ['+e.box.join(', ')+']'+(e.kind==='text'?' · '+(e.text||'内容未辨识,保留原字形'):'')};row.addEventListener('click',select);row.addEventListener('keydown',event=>{if(event.key==='Enter'||event.key===' '){event.preventDefault();select()}})}
|
|
</script></body></html>
|