1. 核心逻辑层(core/)
watermark_core.py:定义水印参数数据类(WatermarkParams),封装水印位置、大小、旋转角、透明度、颜色等属性;提供核心渲染函数 apply_watermark,将水印参数与源图片结合,生成最终输出图像(支持JPEG格式)。
font_manager.py:负责系统字体扫描(scan_fonts),遍历系统标准字体目录(目前针对macOS优化,但保留跨平台扩展接口),返回可用字体名称列表;并提供字体加载函数 load_font,根据字体名称和字号创建QFont对象供UI使用。
watermark_element.py:定义主文字数据模型 WatermarkElement,作为画布上可编辑元素的抽象,存储文本内容、位置(x,y)、旋转角度、缩放因子等状态,并支持与UI控件双向绑定。
2. 图形界面组件层(ui/)
adjustment_panel.py:右侧调整面板,包含文字输入框、字体下拉菜单、字号滑块、透明度滑块、旋转角度旋钮、颜色选择器等控件。该面板监听用户输入,实时更新 WatermarkElement 属性,并触发预览刷新。
interactive_preview.py:核心交互画布(InteractivePreviewWidget),继承自QGraphicsView,承载可拖拽、旋转的文本项(WatermarkSimpleItem)。该组件支持鼠标拖拽移动文本、通过滚轮或手柄旋转缩放,所有操作即时反映在数据模型上。
preview_panel.py:预览容器,将交互画布与缩放适配器结合,确保图片和水印自适应显示区域。
footer_bar.py:底部状态栏,显示当前水印位置、缩放比例、操作提示等辅助信息。
点击空白处退出提示









评论