ancient-ocr-viewer/index.html

152 lines
5.5 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>古籍OCR对照查看器 - Canvas版</title>
<link rel="stylesheet" href="src/css/style.css">
</head>
<body>
<!-- 顶部工具栏 -->
<header class="toolbar">
<div class="toolbar-left">
<h1>古籍OCR对照查看器</h1>
<span class="file-info" id="fileInfo">加载中...</span>
</div>
<div class="toolbar-right">
<button id="resetBtn" class="btn">重置视图</button>
<button id="exportBtn" class="btn">导出对比图</button>
</div>
</header>
<!-- 主容器 -->
<main class="main-container">
<!-- 左侧原始图片Canvas -->
<section class="canvas-panel">
<div class="panel-header">
<h2>原始图片</h2>
<span class="panel-info" id="imageInfo"></span>
</div>
<div class="canvas-wrapper" id="imageCanvasWrapper">
<canvas id="imageCanvas"></canvas>
</div>
</section>
<!-- 右侧文字渲染Canvas -->
<section class="canvas-panel">
<div class="panel-header">
<h2>OCR文字渲染</h2>
<span class="panel-info" id="textInfo"></span>
</div>
<div class="canvas-wrapper" id="textCanvasWrapper">
<canvas id="textCanvas"></canvas>
</div>
</section>
</main>
<!-- 底部控制面板 -->
<aside class="control-panel" id="controlPanel">
<div class="control-header">
<h3>控制面板</h3>
<button id="togglePanel" class="toggle-btn"></button>
</div>
<div class="control-content" id="controlContent">
<!-- 缩放控制 -->
<div class="control-group">
<label>缩放比例</label>
<div class="control-row">
<input type="range" id="scaleSlider" min="10" max="200" value="100" step="5">
<span class="value" id="scaleValue">100%</span>
<button id="fitBtn" class="btn-sm">适应窗口</button>
</div>
</div>
<!-- 文字渲染控制 -->
<div class="control-group">
<label>文字大小调整</label>
<div class="control-row">
<input type="range" id="fontScaleSlider" min="50" max="150" value="100" step="5">
<span class="value" id="fontScaleValue">100%</span>
</div>
</div>
<!-- 显示选项 -->
<div class="control-group">
<label>显示选项</label>
<div class="control-options">
<label class="checkbox-label">
<input type="checkbox" id="showBoundsCheck" checked>
显示文字边框
</label>
<label class="checkbox-label">
<input type="checkbox" id="showGridCheck">
显示网格
</label>
<label class="checkbox-label">
<input type="checkbox" id="syncScrollCheck" checked>
同步滚动
</label>
</div>
</div>
<!-- 文字颜色 -->
<div class="control-group">
<label>文字颜色</label>
<div class="control-row">
<input type="color" id="textColorPicker" value="#000000">
<span>背景</span>
<input type="color" id="bgColorPicker" value="#ffffff">
<label class="checkbox-label">
<input type="checkbox" id="transparentBgCheck">
透明背景
</label>
</div>
</div>
<!-- 置信度过滤 -->
<div class="control-group">
<label>最低置信度</label>
<div class="control-row">
<input type="range" id="confidenceSlider" min="0" max="100" value="0" step="5">
<span class="value" id="confidenceValue">0%</span>
</div>
</div>
<!-- 统计信息 -->
<div class="control-group stats">
<label>统计信息</label>
<div class="stats-content" id="statsContent">
<div class="stat-item">
<span>总字符数:</span>
<span id="totalChars">0</span>
</div>
<div class="stat-item">
<span>显示字符:</span>
<span id="visibleChars">0</span>
</div>
<div class="stat-item">
<span>平均置信度:</span>
<span id="avgConfidence">0%</span>
</div>
</div>
</div>
</div>
</aside>
<!-- 字符详情浮窗 -->
<div class="char-tooltip" id="charTooltip">
<div class="tooltip-content"></div>
</div>
<!-- 加载提示 -->
<div class="loading-overlay" id="loadingOverlay">
<div class="loading-spinner"></div>
<p>加载中...</p>
</div>
<!-- JavaScript模块 -->
<script type="module" src="src/js/main.js"></script>
</body>
</html>