realskyrin/capcap
GitHub: realskyrin/capcap
一个原生 macOS 菜单栏截图工具,支持快速区域捕获、标注编辑、滚动拼接、美化包装及自有图床上传。
Stars: 491 | Forks: 37
# capcap

[简体中文README.zh-CN.md) · [繁體中文](README.zh-TW.md)
**在 macOS 上截图、标注和分享的最快方式。** 任意位置双击 `⌘` — 点击窗口、拖拽区域、滚动拼接长页面,然后在一个紧凑的浮动窗口中标注和美化。常驻菜单栏。无 Dock 图标,无遥测,无订阅,无第三方依赖。如需一键云 URL,自带对象存储即可。
## 功能
- **直接编辑任何图片** — 在 Finder 中选择单个图像文件(桌面或任何窗口),触发截图快捷键即可在标注编辑器中打开该图片,而非截图。原始文件不会被修改;编辑结果像正常截图一样进入剪贴板和历史记录。
- **快速区域和窗口捕获** — 拖拽任何区域,或悬停并点击检测到的窗口以捕捉其边界。
- **多显示器支持** — 在所有连接的屏幕上创建叠加层,并以全 Retina 分辨率捕获。
- **完整标注编辑器** — 矩形、椭圆、箭头、画笔、高亮、马赛克、编号标注和文本。
- **可编辑标注** — 移动现有标记、更改颜色和大小、旋转支持的标注、弯曲箭头/标注、编辑文本、删除标记,以及使用撤销/重做。
- **滚动捕获** — 捕获选定的滚动区域,实时预览拼接图像,并将其合并回编辑器。
- **美化模式** — 为截图添加圆角、柔和阴影、渐变预设、壁纸背景和可调节的内边距。
- **颜色取色器** — 使用 macOS 颜色取样器,复制拾取的十六进制值,并保存在历史记录中。
- **置顶到屏幕** — 将当前截图浮动在其他窗口之上,作为可拖拽的参考图像。
- **保存或复制** — 保存为 PNG,确认后将 PNG/TIFF 数据复制到剪贴板,或取消不输出。
- **近期历史** — 菜单栏历史记录显示缩略图和拾取的颜色,方便快速重新复制,可配置缓存大小。
- **图床上传** — 可选的一键上传至腾讯 COS、七牛 Kodo 或阿里云 OSS;公共 URL 被复制到剪贴板并随缩略图一同存储在历史记录中。凭据仅保存在本地的 UserDefaults 中;选择一个提供商作为默认设置,编辑器的上传按钮就会亮起。
- **自定义触发器** — 使用默认的双击 `⌘`,或在设置中录制自定义全局快捷键。
- **设置与本地化** — 中文/英文界面、菜单栏图标切换、登录时启动、演示模式、权限状态、快捷录制和历史缓存大小。
- **菜单栏应用** — 作为代理应用运行,无 Dock 图标。
## 要求
- macOS 14.0+
- 辅助功能权限,用于默认的双击 `⌘` 触发器
- 屏幕录制权限,由 ScreenCaptureKit 和截图捕获使用
- Finder 的自动化权限,在首次使用“编辑所选图片”快捷键时请求
首次启动时,capcap 会打开一个设置窗口,显示两个权限状态。一旦两个必需权限都被授予,应用即可启动。
## 通过 Homebrew 安装
Homebrew cask 位于共享的 `realskyrin/tap` Homebrew tap 中:
```
brew tap realskyrin/tap
brew install --cask realskyrin/tap/capcap
```
关于 tap 维护,请参阅 [homebrew-tap README](https://github.com/realskyrin/homebrew-tap)。
## 从源码构建
```
# 构建并捆绑 build/capcap.app
./scripts/bundle.sh
```
对于本地开发,此脚本重新构建应用,杀死任何正在运行的实例,启动新包,并验证其已启动:
```
bash scripts/rebuild-and-open.sh
```
要打包一个可拖拽的 DMG:
```
scripts/package-dmg.sh
```
应用包输出到 `build/capcap.app`;DMG 输出到 `dist/`。
## 使用方法
1. 双击 `⌘ Command`、按下自定义快捷键,或从菜单栏选择 **截图**。
2. 悬停窗口并点击以捕获,或拖拽以选择任意区域。
3. 使用浮动工具栏进行标注、选取颜色、启动滚动捕获、美化、保存、置顶、取消或确认。
4. 点击绿色勾号或按 `Enter` 将最终图像复制到剪贴板。按 `Esc` 或点击 `x` 取消。
若要编辑现有图像而非截图,在 Finder 中点击单个图像文件(使其成为当前 Finder 选择),然后触发相同的快捷键。capcap 将该文件复制到临时工作位置,并在编辑器中打开它,工具栏已就绪。如果选择的不是恰好一个图像,快捷键将表现为正常的截图触发。
## 编辑器工具
| 工具 | 功能说明 |
|------|----------|
| 矩形 / 椭圆 | 绘制轮廓形状,可选择颜色和线条宽度 |
| 箭头 | 绘制直线箭头;随后可选择箭头以移动端点或弯曲箭杆 |
| 画笔 | 绘制平滑的手绘笔触 |
| 高亮 | 绘制半透明标记笔触,不会加深重叠区域 |
| 马赛克 | 在敏感内容上涂抹像素化区域,可调节区块大小 |
| 编号标注 | 添加递增的标注徽章;放置时拖拽可添加箭头 |
| 文本 | 添加可编辑的单行文本,带颜色和10-100 pt大小控制 |
| 取色器 | 拾取屏幕任意颜色并复制其 `#RRGGBB` 值 |
| 撤销 / 重做 | 撤销和恢复编辑器更改 |
| 移动选区 | 选择后拖拽整个截图选区 |
| 滚动捕获 | 在选区内滚动,拼接帧,并继续编辑合并结果 |
| 美化 | 添加渐变或壁纸背景、圆角、阴影和内边距 |
| 保存 | 将当前结果保存为 PNG |
|置顶 | 让当前结果浮动在其他窗口之上 |
| 上传 | 将当前结果上传至已配置的图床并复制公共 URL |
| 确认 | 将最终结果复制到剪贴板 |
当选中一个标注时,capcap 会在支持的位置显示调整手柄:形状、笔触和文本的旋转手柄;箭头和编号标注的曲线手柄;箭头的端点手柄;以及文本和选中标注的编辑/删除操作。
## 设置
从菜单栏打开设置以配置:
- 语言:中文或英文
- 菜单栏图标可见性
- 登录时启动
- 演示模式,允许外部屏幕录制器捕获 capcap 的覆盖层和编辑器
- 截图快捷键:保持双击 `⌘`、录制自定义快捷键或恢复默认
- 历史缓存大小,从 5 到 20 个最近的截图/颜色
- 图床上传:启用腾讯 COS、七牛 Kodo 或阿里云 OSS,填写凭据,并选择哪个作为编辑器上传按钮的默认提供商
- 辅助功能和屏幕录制权限快捷键
## 历史记录
菜单栏的 **历史记录** 子菜单将最近的截图和拾取的颜色存储在 `~/Library/Application Support/capcap/History` 中。点击图像条目可将其复制回剪贴板,点击颜色条目可复制其十六进制值,或从子菜单中清除全部历史记录。
## macOS 验证警告
如果 macOS 显示类似 `Apple cannot verify "capcap" is free of malware` 的警告,请从你信任的应用包中移除隔离标志,然后重新打开:
```
xattr -dr com.apple.quarantine /Applications/capcap.app
```
如果你运行的是本地构建的副本,而非 `/Applications` 中的应用,请将路径替换为你的实际应用位置,例如:
```
xattr -dr com.apple.quarantine ./build/capcap.app
```
仅对从本仓库下载的构建或你自己构建的版本执行此操作。
## 项目结构
- `capcap/App/` — 应用入口点、委托和包元数据
- `capcap/Capture/` — 覆盖层、选区、窗口检测、ScreenCaptureKit 捕获、滚动拼接、剪贴板和历史记录
- `capcap/Editor/` — 标注模型、编辑器画布、浮动工具栏、美化渲染、马赛克、滚动预览和置顶窗口
- `capcap/Trigger/` — 双击 `⌘` 监控器和自定义 Carbon 热键注册
- `capcap/UI/` — 菜单栏控制器、提示框、光标芯片和工具提示
- `capcap/Settings/` — 启动/设置窗口和偏好设置 UI
- `capcap/Upload/` — 图床提供商(腾讯 COS、七牛 Kodo、阿里云 OSS),HMAC 签名、进度追踪 HTTP 封装和浮动上传芯片
- `capcap/Utilities/` — 默认设置、本地化和登录时启动支持
- `scripts/` — 编译检查、打包、重新构建/打开、图标和 DMG 辅助工具
## 开发
```
# 影响 Swift 的更改的快速编译验证
bash scripts/compile-check.sh
# 构建、重启并验证本地应用
bash scripts/rebuild-and-open.sh
```
## 第三方许可
- [PermissionFlow](https://github.com/jaywcjlove/PermissionFlow) 采用 MIT 许可证。参见 [ThirdParty/PermissionFlow/LICENSE](ThirdParty/PermissionFlow/LICENSE)。
## 许可证
[MIT](LICENSE)
下载最新版 · 通过 Homebrew 安装 · macOS 14+ · Universal (Apple Silicon + Intel)
## 为什么选择 capcap - **一个快捷键,零摩擦。** 任意位置双击 `⌘`,capcap 在毫秒内出现 — 或录制任何你喜欢的全局快捷键。 - **窗口快照或像素级区域。** 悬停任何窗口一键截图,或拖拽区域,在所有连接的显示器上输出全 Retina 分辨率。 - **真正的标注编辑器。** 箭头、编号标注、文本、马赛克、高亮、画笔 — 所有元素在放置后均可编辑、拖拽、旋转和撤销。 - **滚动拼接长内容。** 捕获滚动区域,实时查看拼接预览,并继续编辑合并后的结果。 - **美化和置顶。** 将截图包裹在渐变或壁纸背景中,带圆角和阴影,或将最终图片置顶浮动在任何窗口之上。 - **也可编辑 Finder 中的图片。** 在 Finder 中选择单个图像文件,触发相同快捷键即可直接加载到编辑器 — 原始文件不会被修改。 - **菜单栏历史。** 最近的截图和拾取的颜色只需点击即可重新复制 — 仅本地存储,可配置大小。 - **一键上传到自己的图床。** 可选:配置腾讯 COS、七牛 Kodo 或阿里云 OSS 一次,编辑器的上传按钮就会将公共 URL 直接复制到剪贴板。凭据保留在你的 Mac 上。 - **纯 AppKit 构建。** 无 SwiftUI,无 Electron,无遥测。小巧、快速、尊重 macOS。 ## 展示
![]() Snap to any window in one click No precise dragging — capcap detects window bounds for you. |
![]() History at the menu bar Re-copy any recent screenshot or picked hex color in a click. |
![]() Scroll-stitch long pages Scroll inside the selection, watch frames merge live, and keep editing the result. |
![]() Beautify in one click Gradient or wallpaper backgrounds, rounded corners, shadow and padding — all adjustable. |
![]() Bring-your-own image host Configure Tencent COS, Qiniu Kodo, or Aliyun OSS once — upload the current screenshot and copy its public URL with a single click. |
|
标签:Homebrew, LangChain, Retina屏幕, Swift, 云存储, 免费软件, 区域截图, 历史记录, 原生应用, 图像编辑, 快捷键, 截图工具, 截图标注, 数字标注, 文本标注, 标注工具, 水印, 滚动截图, 画笔, 窗口截图, 箭头标注, 美化, 自定义快捷键, 苹果生态, 苹果系统工具, 菜单栏, 轻量级, 马赛克, 高亮




