贴片(图块叠加)
嵌字时除了往文本框里写译文,还经常需要把抠好的素材图放到页面上:手写体字符、特效字、印章、贴纸、从其它页借来的补图等。这类内容不适合放进文本框,过去只能在外面拼好再整张贴回来。编辑器提供的“贴片”对象就是为了这类场景:把图片素材(PNG/JPG/WebP 等)直接拖进画布即可使用,位置、大小、旋转、透明度、叠层顺序都可独立编辑,并随工程保存、随导出出图。
可以做什么
- 拖入支持的图片素材(PNG/JPG/WebP/BMP/TIFF/AVIF 等)即成为一页的“贴片”:落点为放置中心,自动进入选中态;超大素材(>2048px 边长)会自动缩小。
- 选中后支持与文本框一致的操作习惯:移动 / 四角等比缩放 / 顶部旋转 / 悬停光标;
Ctrl+滚轮等比缩放,Ctrl+C/Ctrl+V复制粘贴,Delete删除,Ctrl+Z撤销。 - 贴片是可撤销的对象级编辑:每次移动/缩放/旋转/增删都是一条历史命令。
- 保存工程后贴片随页持久化(见下“存储格式”),重开页面还原;导出图片时贴片参与最终合成,位置/大小/朝向与画布一致,绘制在文字层之下。
- 支持“只有贴片、没有文本框”的纯素材页导出;透明 PNG 素材也能保留透明度。
在编辑器中操作
添加贴片
- 打开编辑器并载入漫画页;
- 从资源管理器把一张图片拖到画布上松手即可(放在哪就落在哪);
- 也可以选中已有贴片按
Ctrl+C复制,再按Ctrl+V在鼠标位置粘贴副本。
贴片之间、贴片与文本框互不冲突:点击贴片选中的是贴片,点击文本框选中的是文本框;点击空白处或文本框会把贴片手柄收起。
编辑选中的贴片
选中后贴片四周会出现与文本框同款装饰:
- 虚线框标识选中范围;
- 四角方块:按住拖动,以贴片中心为锚点等比缩放;
- 顶部圆环:按住拖动,绕中心旋转;
- 悬停四角/旋转手柄时光标分别变为对角拉伸 / 四向,便于发现可拖区域;
- 画布内拖动本体 = 移动;
Ctrl+滚轮= 等比缩放(与文本框“调字号”同一入口:无文本框选中时作用于贴片);Ctrl+C/V= 复制/粘贴(贴片剪贴板与文本框剪贴板相互独立);Delete= 删除选中贴片。
快捷键与焦点规则详见快捷键,画布工具/选区/缩放平移见画布工具与选区。
保存与导出行为
存储格式
贴片与页面 regions 平级,保存在页面对应的 *_translations.json:
jsonc
"paste_overlays": [{
"id": "…",
"name": "…",
"z": 0, "visible": true, "opacity": 1.0,
"center_x": 0.0, "center_y": 0.0, // 源图像素坐标
"width": 0.0, "height": 0.0,
"rotation": 0.0, "flip_h": false, "flip_v": false,
"image": "<base64 PNG, RGBA>"
}]- 图片以 base64 PNG(RGBA)内嵌,与
mask_raw/paint_overlay/stamp_overlay的存放方式一致,便于整页迁移; - 旧页面文件没有
paste_overlays字段时按空处理,可正常打开; - 几何字段一律使用源图像素坐标,画布预览与后端导出共用同一套坐标。
导出与后端
- 编辑器“导出图片”会把贴片按
z升序 source-over 合成到底图(预乘 alpha、透明边缘不渗黑),绘制在文字层之下; - 页面只有贴片、没有文本框/蒙版时同样能导出(含透明 PNG 素材的 RGBA 输出);
- 命令行/Web 端从磁盘 JSON 加载时,会读取
paste_overlays并物化合成,与桌面端结果一致。
当前限制与后续方向
- 贴片目前是单对象编辑(无多选/对齐/分布),多贴片通过
z字段控制叠放顺序; - 贴片与文本框是两套独立对象与选中体系;后续如需“和文本框完全同操作”(共享属性面板、多选批量、几何手柄管线)属于模型层改造,可另行讨论;
- 超大/异常工程文件会被防御性跳过(含解码前像素尺寸检查),避免导出时内存失控。
