feat(wallpaper): 实现多阈值黑色壁纸分类处理功能

- 添加 strconv 包用于阈值转换
- 设置源目录为当前目录并验证存在性
- 实现多级黑暗阈值(95-15)的循环处理
- 根据当前目录名生成目标目录路径
- 设置默认分辨率阈值为1280x720
- 添加程序执行前的5秒确认等待时间
- 注释掉日志文件保存功能
This commit is contained in:
2024-04-05 21:14:51 +08:00
parent 36df7a0658
commit a96f0f9015
+29 -16
View File
@@ -13,6 +13,7 @@ import (
"os"
"path/filepath"
"sort"
"strconv"
"strings"
"sync"
"time"
@@ -465,18 +466,34 @@ func findAndMoveDarkWallpapers(config Config) ([]WallpaperInfo, error) {
func main() {
// 配置
config := DefaultConfig()
config.SourceDir = "."
// 可以在这里修改配置
config.SourceDir = "." // 源目录,包含壁纸
config.TargetDir = "./dark_wallpapers" // 目标目录
config.DarkThreshold = 0.75 // 黑暗阈值
config.MinWidth = 1024
config.MinHeight = 728
config.CopyMode = false // false=移动,true=复制
config.Verbose = true
// 检查源目录是否存在
if _, err := os.Stat(config.SourceDir); os.IsNotExist(err) {
log.Fatalf("源目录不存在: %s", config.SourceDir)
return
}
rootDir, _ := os.Getwd()
baseDirName := filepath.Base(rootDir)
fmt.Println("🖤 黑色壁纸查找与移动工具")
fmt.Println(strings.Repeat("=", 40))
fmt.Println("整理完成的文件在上一级目录中,请勿整理磁盘根目录文件,若无疑问,程序将在 5s 后执行")
fmt.Println(strings.Repeat("=", 40))
time.Sleep(time.Second * 5)
// 亮度依次递增
targetDarkThresholds := []int{95, 85, 75, 65, 55, 45, 35, 25, 15}
for _, threshold := range targetDarkThresholds {
// 源目录,包含壁纸
config.TargetDir = "../" + baseDirName + "_dark_wallpapers_" + strconv.Itoa(threshold) // 目标目录
config.DarkThreshold = float64(threshold) / 100.0 // 黑暗阈值
config.MinWidth = 1280
config.MinHeight = 720
config.CopyMode = false // false=移动,true=复制
config.Verbose = true
fmt.Printf("源目录: %s\n", config.SourceDir)
fmt.Printf("目标目录: %s\n", config.TargetDir)
fmt.Printf("黑暗阈值: %.2f\n", config.DarkThreshold)
@@ -484,11 +501,6 @@ func main() {
fmt.Printf("模式: %s\n", map[bool]string{true: "复制", false: "移动"}[config.CopyMode])
fmt.Println()
// 检查源目录是否存在
if _, err := os.Stat(config.SourceDir); os.IsNotExist(err) {
log.Fatalf("源目录不存在: %s", config.SourceDir)
}
// 执行查找和移动
wallpapers, err := findAndMoveDarkWallpapers(config)
if err != nil {
@@ -498,8 +510,9 @@ func main() {
// 显示结果
printSummary(wallpapers, config)
// 保存结果到日志文件
if len(wallpapers) > 0 {
saveResultsToLog(wallpapers, config)
//// 保存结果到日志文件
//if len(wallpapers) > 0 {
// saveResultsToLog(wallpapers, config)
//}
}
}