docs: update README with latest features: watermark, puzzle, multi-image merge, AirTest tests
This commit is contained in:
78
README.md
78
README.md
@@ -1,70 +1,16 @@
|
||||
# 巡检相机 (Inspection Camera)
|
||||
# CheckShot
|
||||
|
||||
一款基于 Android 的巡检拍照应用,支持水印、多图合成、文字编辑等功能。
|
||||
Android 图片检查与拼图工具。实现了水印、拼图、设置等核心功能,配合 AirTest 自动化测试。
|
||||
|
||||
## 功能特性
|
||||
核心特性
|
||||
- 水印模块:时间水印、地点水印、三种预设样式。
|
||||
- 拼图模块:多图合成,固定模板,图片替换/删除,合成质量控制。
|
||||
- 设置:默认合成布局、默认水印样式、默认主题、巡检员信息等。
|
||||
- 测试:AirTest 集成用例,覆盖水印、相册、拼图、设置等场景。
|
||||
|
||||
### 1. 相机核心模块
|
||||
- 使用 Android CameraX 库
|
||||
- 支持拍照、自动/手动对焦、曝光调节
|
||||
- 闪光灯控制(自动/开/关)
|
||||
快速开始
|
||||
- 构建:./gradlew assembleDebug
|
||||
- 安装:adb install -r app/build/outputs/apk/debug/app-debug.apk
|
||||
- AirTest:airtest run test/airtest/...
|
||||
|
||||
### 2. 水印处理模块
|
||||
- 拍摄后自动在照片左下角叠加时间与地点水印
|
||||
- 时间格式:yyyy年-MM月-dd日 HH:mm:ss
|
||||
- 地点水印:支持 Geocoder 联网解析地址或降级显示经纬度
|
||||
- 多种预设水印样式可选(默认样式、简约样式、醒目样式)
|
||||
|
||||
### 3. 多图合成模块
|
||||
- 支持图片拼接(2x2网格、1+3布局、3+1布局)
|
||||
- 基于模板的布局编辑(替换/删除图片)
|
||||
- 合成质量控制(高清/标准/流畅)
|
||||
|
||||
### 4. 文字编辑模块
|
||||
- 支持在合成图片的顶部(标题)和底部(内容)添加文字
|
||||
- 智能换行
|
||||
- 多种预设文字样式可选
|
||||
|
||||
### 5. 图片管理模块
|
||||
- 本地存储、分类管理、预览
|
||||
- 导出/分享功能
|
||||
- 严格遵循分区存储规则,通过 MediaStore 保存到系统相册
|
||||
|
||||
### 6. 权限管理
|
||||
- 相机权限
|
||||
- 定位权限
|
||||
- 支持手动输入地址作为降级方案
|
||||
|
||||
## 配置设置
|
||||
|
||||
### 水印设置
|
||||
- 水印样式选择
|
||||
- 地点获取方式(联网查询/经纬度)
|
||||
|
||||
### 合成与文字设置
|
||||
- 默认合成布局
|
||||
- 合成图片质量
|
||||
- 默认标题样式
|
||||
- 默认内容样式
|
||||
|
||||
### 通用设置
|
||||
- 默认巡检主题
|
||||
- 巡检员信息
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **语言**: Kotlin
|
||||
- **UI框架**: Jetpack Compose
|
||||
- **相机**: CameraX
|
||||
- **存储**: DataStore Preferences
|
||||
- **定位**: Google Play Services Location
|
||||
|
||||
## 权限说明
|
||||
|
||||
- `CAMERA`: 相机拍照
|
||||
- `ACCESS_FINE_LOCATION`: 精确定位
|
||||
- `ACCESS_COARSE_LOCATION`: 粗略定位
|
||||
|
||||
## 版本
|
||||
|
||||
当前版本:1.0.0
|
||||
如需更多安装与运行指南,请查看 respective CI/CD 或文档。
|
||||
|
||||
Reference in New Issue
Block a user