Files
chengnan/readme.md
2026-05-30 17:24:05 +08:00

150 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# chengnan
项目链接:<https://git.luochen570.cn/luochen570/chengnan>
`chengnan` 是一个轻量级 Windows 图片查看器 / 简单图片处理工具,使用 **Qt Widgets + CMake + C++17** 开发。
## 功能
当前实现:
- 打开图片PNG、JPG、JPEG、BMP、GIF、WebP 等 Qt 支持的格式
- 保存当前图片
- 另存为 PNG / JPG / BMP 等格式
- 图片显示:使用 Qt Widgets不使用 OpenCV 窗口
- 缩放:工具栏滑块、放大、缩小、原始大小
- 双击图片适配窗口
- 旋转:左旋 90°、右旋 90°
- 翻转:水平翻转、垂直翻转
- 简单处理:灰度化、反色
## 文件结构
```text
chengnan/
├── CMakeLists.txt
├── MainWindow.cpp
├── MainWindow.h
├── build-windows.ps1
├── main.cpp
└── readme.md
```
## Windows 编译需要的工具
推荐环境Windows 10 / Windows 11 x64。
必须安装:
1. **Git for Windows**
- 下载:<https://git-scm.com/download/win>
- 用于克隆项目源码。
2. **CMake 3.16 或更高版本**
- 下载:<https://cmake.org/download/>
- 安装时建议勾选 `Add CMake to the system PATH`
3. **Qt 6 或 Qt 5包含 Widgets 模块**
- 下载:<https://www.qt.io/download-qt-installer-oss>
- 推荐安装 Qt 6.x 的 MSVC 64-bit 套件,例如 `msvc2019_64``msvc2022_64`
- 项目不依赖 OpenCV。
4. **Visual Studio 2022 Build Tools 或 Visual Studio 2022**
- 下载:<https://visualstudio.microsoft.com/zh-hans/downloads/>
- 需要安装组件:`使用 C++ 的桌面开发`
- 提供 MSVC 编译器和 Windows SDK。
可选工具:
- **Ninja**<https://github.com/ninja-build/ninja/releases>
- 如果使用 Ninja可以把 `build-windows.ps1``-Generator` 参数改成 `Ninja`
## 获取源码
```powershell
git clone https://git.luochen570.cn/luochen570/chengnan.git
cd chengnan
```
如果仓库主分支已切换到当前版本,直接构建即可;否则可手动切换:
```powershell
git checkout main
```
## 一键构建(推荐)
在 Windows PowerShell 中进入项目目录,然后执行:
```powershell
powershell -ExecutionPolicy Bypass -File .\build-windows.ps1 -QtPrefix "C:\Qt\6.7.2\msvc2019_64"
```
请把 `-QtPrefix` 改成你本机实际 Qt 安装目录。例如:
```powershell
powershell -ExecutionPolicy Bypass -File .\build-windows.ps1 -QtPrefix "C:\Qt\6.8.0\msvc2022_64"
```
脚本会完成:
1. 检查 Qt、CMake、编译器环境
2. 生成 CMake 构建目录
3. 编译 Release 版本
4. 调用 `windeployqt` 收集 Qt 运行库
5. 把发布文件放到 `dist-windows\chengnan`
构建成功后,运行:
```powershell
.\dist-windows\chengnan\chengnan.exe
```
## 手动构建
如果不使用脚本,也可以手动执行:
```powershell
cmake -S . -B build-windows -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH="C:\Qt\6.7.2\msvc2019_64"
cmake --build build-windows --config Release
```
打包 Qt 运行库:
```powershell
C:\Qt\6.7.2\msvc2019_64\bin\windeployqt.exe --release --no-translations build-windows\Release\chengnan.exe
```
## 常见问题
### 找不到 Qt
确认 `-QtPrefix` 指向 Qt 套件目录,而不是 Qt 根目录。例如应使用:
```text
C:\Qt\6.7.2\msvc2019_64
```
不要写成:
```text
C:\Qt
```
### 找不到 MSVC 编译器
请安装 Visual Studio 2022 的 `使用 C++ 的桌面开发`,然后在 “x64 Native Tools Command Prompt for VS 2022” 或已配置 VS 环境的 PowerShell 里运行构建脚本。
### exe 复制到其它电脑无法运行
请运行 `build-windows.ps1`,并整体复制 `dist-windows\chengnan` 文件夹,不要只复制单个 `chengnan.exe`
## 开发说明
- `main.cpp`:应用入口,创建并显示主窗口
- `MainWindow.h`:主窗口和图片标签类声明
- `MainWindow.cpp`:菜单、工具栏、图片显示和处理逻辑
- `CMakeLists.txt`Qt Widgets CMake 构建配置
- `build-windows.ps1`Windows 一键构建与打包脚本
- `readme.md`:项目说明文档