Pic Watermark
{% with messages = get_flashed_messages(with_categories=true) %} {% if messages %} {% for category, msg in messages %}
{{ msg }}
{% endfor %} {% endif %} {% endwith %}
用户管理
ID
Key
{% for u in users %}
{{ u.user_id }}
{{ u.user_key }}
删除
{% endfor %}
添加用户
操作
查看用户水印结果
查看合谋攻击与评分
查看 report.json
运行配置
图片路径(eg../image)
输出目录(相对项目根)
处理模式
auto
default
large_raster
tile_size
自动根据位深和文件大小切换
default链路适合普通小图
large raster适合大图文件
用户数
码长
合谋(逗号分隔)
delta
repeats
delta_mode
normalized_8bit(推荐)
native
master_key
content_id
seed
cover_size
psb_max_side
输出扁平单层 PSB 文件
运行并生成
提取字符串
上传带水印图片
或直接填写图片路径
提取模式
auto
default
large_raster
extract_tile_size
master_key
content_id
delta
repeats
code_length
psb_max_side
delta_mode
normalized_8bit(推荐)
native
提取并显示字符串
{% if extract_result %}
图片:
{{ extract_result.image_path }}
提取字符串:
{{ extract_result.extracted_text if extract_result.extracted_text else '解析失败' }}
字符串校验:
{{ '通过' if extract_result.text_ok else '失败' }}
路由:
{{ extract_result.route }}
路由原因:
{{ extract_result.route_reason }}
输入是否 PSB:
{{ extract_result.input_is_psb }}
输入位深:
{{ extract_result.input_depth }}
提取位数:
{{ extract_result.display_bits_len }}
{% endif %}
输出摘要
输出目录:
{{ current_out_dir }}
用户数量:
{{ users|length }}
图片数量:
{{ images|length }}
{% if report %}
最近运行配置:
模式: {{ report.mode if report.mode else '-' }}
应用路由: {{ report.app_route if report.app_route else '-' }}
路由原因: {{ report.route_reason if report.route_reason else '-' }}
码长: {{ report.config.code_length if report.config else (report.total_bits if report.total_bits else '-') }}
delta: {{ report.config.delta if report.config else report.delta }}
repeats: {{ report.config.repeats if report.config else report.repeats }}
tile_size: {{ report.tile_size if report.tile_size else '-' }}
单用户链路用户: {{ report.selected_user_id if report.selected_user_id else (report.user_id if report.user_id else '-') }}
输入是否 PSB: {{ report.config.input_is_psb if report.config else report.input_is_psb }}
输入位深: {{ report.config.input_depth if report.config else report.input_depth }}
是否尝试导出 PSB: {{ report.config.emit_psb if report.config else (report.output_psb is not none) }}
PSB 最大边: {{ report.config.psb_max_side if report.config else '-' }}
{% endif %}