Skip to content

一个将您的图片转换成适合于Minecraft地图画尺寸的小工具

Notifications You must be signed in to change notification settings

soujyuhs16/DCMapImageScaler

Repository files navigation

Minecraft 地图画生成器

这是一个用于生成 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. 启动程序后,可以通过以下方式导入图片:

    • 点击"浏览..."按钮选择图片文件
    • 直接将图片文件拖放到程序窗口
  2. 调整图片大小:

    • 使用宽度和高度倍数控制(1 倍 = 128 像素)
    • 程序会自动计算最终尺寸和所需价格
  3. 预览模式:

    • 普通预览:显示缩放后的原始图片
    • 地图画预览:显示转换为 Minecraft 地图画颜色后的效果
  4. 保存图片:

    • 点击"另存为图片"按钮
    • 选择保存位置和格式(支持 PNG、JPG 等格式)

技术细节

颜色映射

  • 使用 Minecraft 1.12+ 版本的标准地图画颜色
  • 通过欧几里得距离算法计算最接近的颜色
  • 支持 35 种基础颜色

图片处理

  • 使用 PIL (Python Imaging Library) 进行图片处理
  • 支持多种图片格式(PNG、JPG、JPEG、GIF、BMP)
  • 采用 LANCZOS 重采样算法确保最佳图片质量

用户界面

  • 使用 tkinter 构建图形界面
  • 支持实时预览和进度显示
  • 多线程处理避免界面卡顿

注意事项

  1. 图片尺寸限制:

    • 宽度和高度必须是 128 像素的整数倍
    • 建议不要超过 20 倍(2560x2560 像素)
  2. 预览模式切换:

    • 在地图画预览模式下,尺寸调整会被临时禁用
    • 处理大图片时会显示进度条
  3. 价格计算:

    • 价格与地图画的面积成正比
    • 每个 128x128 像素区块的基础价格为 50 DCB

开发环境

  • Python 3.6+
  • 依赖库:
    • PIL (Pillow)
    • tkinter
    • tkinterdnd2

贡献指南

欢迎提交 Issue 和 Pull Request 来改进这个项目。在提交代码时,请确保:

  1. 代码符合 PEP 8 规范
  2. 添加必要的注释和文档
  3. 确保所有测试通过

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

小提示

第3版有点已知bug的,期末周之后会慢慢修(笑)

About

一个将您的图片转换成适合于Minecraft地图画尺寸的小工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages