150 lines
3.9 KiB
Markdown
150 lines
3.9 KiB
Markdown
# 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`:项目说明文档
|