这是一个用于生成 Minecraft 地图画的图片处理工具。它可以将普通图片转换为适合在 Minecraft 中制作地图画的格式,并提供实时预览功能。
- 图片缩放:将图片调整为 Minecraft 地图画所需的尺寸(128像素的倍数)
- 实时预览:支持普通预览和 Minecraft 地图画预览两种模式
- 颜色映射:使用 Minecraft 1.12+ 版本的地图画颜色系统
- 价格计算:自动计算制作地图画所需的游戏币(DCB)
- 拖放支持:支持直接拖放图片文件到程序窗口
- 进度显示:在处理大图片时显示进度条
├── color_mapper.py # Minecraft 颜色映射模块
├── control_panel.py # 控制面板 UI 组件
├── image_scaler_app.py # 主应用程序
├── image_utils.py # 图片处理工具
├── minecraft_map_processor.py # Minecraft 地图画处理器
├── preview_canvas.py # 预览画布组件
├── preview_state.py # 预览状态管理
├── progress_dialog.py # 进度对话框
└── threaded_processor.py # 多线程处理器
-
启动程序后,可以通过以下方式导入图片:
- 点击"浏览..."按钮选择图片文件
- 直接将图片文件拖放到程序窗口
-
调整图片大小:
- 使用宽度和高度倍数控制(1 倍 = 128 像素)
- 程序会自动计算最终尺寸和所需价格
-
预览模式:
- 普通预览:显示缩放后的原始图片
- 地图画预览:显示转换为 Minecraft 地图画颜色后的效果
-
保存图片:
- 点击"另存为图片"按钮
- 选择保存位置和格式(支持 PNG、JPG 等格式)
- 使用 Minecraft 1.12+ 版本的标准地图画颜色
- 通过欧几里得距离算法计算最接近的颜色
- 支持 35 种基础颜色
- 使用 PIL (Python Imaging Library) 进行图片处理
- 支持多种图片格式(PNG、JPG、JPEG、GIF、BMP)
- 采用 LANCZOS 重采样算法确保最佳图片质量
- 使用 tkinter 构建图形界面
- 支持实时预览和进度显示
- 多线程处理避免界面卡顿
-
图片尺寸限制:
- 宽度和高度必须是 128 像素的整数倍
- 建议不要超过 20 倍(2560x2560 像素)
-
预览模式切换:
- 在地图画预览模式下,尺寸调整会被临时禁用
- 处理大图片时会显示进度条
-
价格计算:
- 价格与地图画的面积成正比
- 每个 128x128 像素区块的基础价格为 50 DCB
- Python 3.6+
- 依赖库:
- PIL (Pillow)
- tkinter
- tkinterdnd2
欢迎提交 Issue 和 Pull Request 来改进这个项目。在提交代码时,请确保:
- 代码符合 PEP 8 规范
- 添加必要的注释和文档
- 确保所有测试通过
本项目采用 MIT 许可证。详见 LICENSE 文件。
第3版有点已知bug的,期末周之后会慢慢修(笑)