Files
invitation-maker/index.html

108 lines
5.0 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>极简邀请函制作</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="app">
<!-- 顶部工具栏 -->
<div class="toolbar">
<button class="btn" id="addImageBtn">背景图</button>
<button class="btn" id="addOverlayBtn">层叠图</button>
<button class="btn" id="addTextBtn">文本</button>
<button class="btn btn-primary" id="saveBtn">保存/预览</button>
</div>
<!-- 编辑器工具栏(文本/图片共用) -->
<div class="editor-toolbar" id="editorToolbar">
<!-- 文本编辑工具 -->
<div class="toolbar-group text-tools" id="textTools">
<button class="toolbar-btn" id="boldBtn" title="加粗">B</button>
<button class="toolbar-btn italic" id="italicBtn" title="斜体">I</button>
<div class="toolbar-divider"></div>
<label class="toolbar-label">
<span>颜色</span>
<input type="color" id="colorPicker" value="#000000">
</label>
<div class="toolbar-divider"></div>
<label class="toolbar-label">
<span>字体</span>
<select id="fontPicker">
<option value="Microsoft YaHei">雅黑</option>
<option value="SimHei">黑体</option>
<option value="SimSun">宋体</option>
<option value="Arial">Arial</option>
</select>
</label>
<div class="toolbar-divider"></div>
<label class="toolbar-label">
<span>字号</span>
<div class="roller-picker" id="fontSizePicker">
<div class="roller-arrow roller-up">▲</div>
<div class="roller-value">16</div>
<div class="roller-arrow roller-down">▼</div>
</div>
</label>
</div>
<!-- 图片编辑工具 -->
<div class="toolbar-group image-tools" id="imageTools">
<label class="toolbar-label">
<span>透明度</span>
<input type="range" id="opacitySlider" min="0" max="100" value="100" class="opacity-slider">
<span id="opacityValue">100%</span>
</label>
</div>
<!-- 背景图编辑工具 -->
<div class="toolbar-group bg-tools" id="bgTools">
<label class="toolbar-label">
<span>缩放</span>
<input type="range" id="bgScaleSlider" min="100" max="300" value="100" class="scale-slider">
<span id="bgScaleValue">100%</span>
</label>
<div class="toolbar-divider"></div>
<label class="toolbar-label">
<span>透明度</span>
<input type="range" id="bgOpacitySlider" min="0" max="100" value="100" class="opacity-slider">
<span id="bgOpacityValue">100%</span>
</label>
</div>
</div>
<!-- 图片展示区 -->
<div class="canvas-area" id="canvasArea">
<div class="preview image-container empty" id="imageContainer">
<!-- 背景图层 -->
<div class="preview-bg-layer" id="bgLayer">
<img id="bgImage" src="" alt="背景图">
</div>
<!-- 层叠图图层 -->
<div class="overlay-layer" id="overlayLayer"></div>
<!-- 拖拽辅助线 -->
<div class="guide-line guide-horizontal" id="guideH"></div>
<div class="guide-line guide-vertical" id="guideV"></div>
<!-- 输入框图层 -->
<div class="preview-input-layer">
<!-- 文字输入框1 - 右下角 -->
<div class="text-input" id="input1" contenteditable="false" style="left: 5%; top: 80%;">姓名:</div>
<!-- 文字输入框2 - 右下角 -->
<div class="text-input" id="input2" contenteditable="false" style="left: 5%; top: 90%;">编号:</div>
</div>
<!-- 提示文字(最上层,层叠图之下) -->
<div class="empty-tip" id="emptyTip">请点击上方「添加图片」按钮上传背景图</div>
</div>
</div>
<!-- 长按提示 -->
<div class="long-press-tip" id="longPressTip">长按屏幕可保存图片</div>
</div>
<input type="file" id="fileInput" accept="image/*" hidden>
<canvas id="exportCanvas" hidden></canvas>
<script src="js/script.js"></script>
</body>
</html>