fix: 修复媒体整理中的文件覆盖、BMP解析与重复整理问题
- 移动文件改用 uuid+原文件名,避免同名覆盖丢失数据
- BMP 负高度取绝对值,自顶向下格式解析正确
- 新增 {目录名}-picker 白名单输出目录,整理后跳过重复扫描
- 分类目录名去掉 uuid 前缀,重复运行并入已有目录
This commit is contained in:
+10
-1
@@ -56,7 +56,8 @@ func ReadBmpImage(filePath string) (error, int32, int32) {
|
||||
fmt.Printf("=== Failed to Read file: %v\n", err)
|
||||
return err, 0, 0
|
||||
}
|
||||
return err, infoHeader.Width, infoHeader.Height
|
||||
// 自顶向下 BMP 的高度为负值,取绝对值避免影响后续解析
|
||||
return err, absInt32(infoHeader.Width), absInt32(infoHeader.Height)
|
||||
//fmt.Printf("=== File size: %d bytes\n", fileHeader.FileSize)
|
||||
//fmt.Printf("=== Image dimensions: %dx%d\n", )
|
||||
//fmt.Printf("=== Bits per pixel: %d\n", infoHeader.BitsPerPixel)
|
||||
@@ -76,3 +77,11 @@ func ReadBmpImage(filePath string) (error, int32, int32) {
|
||||
//}
|
||||
//fmt.Printf("=== Read %d bytes of pixel data.\n", len(data))
|
||||
}
|
||||
|
||||
// absInt32 返回 int32 的绝对值
|
||||
func absInt32(v int32) int32 {
|
||||
if v < 0 {
|
||||
return -v
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user