修复./目录/.格式解析,增加README文档,提高水印透明度
This commit is contained in:
+23
-1
@@ -44,6 +44,7 @@ def _parse_output_spec(output_spec, input_path):
|
||||
- "../output.png" -> 输出到脚本上级目录
|
||||
- "/absolute/path.png" -> 绝对路径
|
||||
- "output.png" -> 输出到脚本所在目录
|
||||
- "./1/.bmp" -> 输出到 ./1/ 目录,转换为 bmp 格式
|
||||
"""
|
||||
if not output_spec:
|
||||
# 无格式指定,保持原格式和原目录
|
||||
@@ -87,7 +88,28 @@ def _parse_output_spec(output_spec, input_path):
|
||||
output_path = os.path.join(input_dir, f"{name_no_ext}_watermarked{ext}")
|
||||
return _normalize_path(output_path), ext
|
||||
|
||||
# 路径处理
|
||||
# 特殊处理:./目录/.格式 的语法(如 ./1/.bmp)
|
||||
# 格式:./[目录]/.[扩展名]
|
||||
# 例如:./1/.bmp -> 输出到 ./1/ 目录,格式为 bmp
|
||||
if output_spec.startswith('./') and '/.' in output_spec:
|
||||
# 提取目录和扩展名
|
||||
# output_spec 如 ./1/.bmp
|
||||
parts = output_spec.split('/.', 1)
|
||||
if len(parts) == 2:
|
||||
dir_part = parts[0] # ./1
|
||||
ext = '.' + parts[1] # .bmp
|
||||
if ext not in SUPPORTED_OUTPUT_EXTENSIONS:
|
||||
raise ValueError(f"不支持的输出格式: {ext},支持的格式: {', '.join(sorted(SUPPORTED_OUTPUT_EXTENSIONS))}")
|
||||
# 规范化目录路径
|
||||
dir_part = _normalize_path(dir_part)
|
||||
# 获取原文件名(不含扩展名)
|
||||
base_name = os.path.basename(input_path)
|
||||
name_no_ext = os.path.splitext(base_name)[0]
|
||||
# 构建输出路径
|
||||
output_path = os.path.join(WORK_DIR, dir_part, f"{name_no_ext}{ext}")
|
||||
return _normalize_path(output_path), ext
|
||||
|
||||
# 普通路径处理
|
||||
output_spec = _normalize_path(output_spec)
|
||||
|
||||
# 分离目录和文件名
|
||||
|
||||
Reference in New Issue
Block a user