Windows版本的图像剪贴板管理工具,兼容Unix管道哲学,支持与macOS版本跨平台传输。
本项目提供两个C++编写的Windows CLI工具:
imgcopy.exe:将图片文件或标准输入的图像数据复制到系统剪贴板imgpaste.exe:从系统剪贴板中获取图像数据并以PNG格式输出到标准输出
- 跨平台兼容:输出标准化PNG格式,支持与macOS版本无缝传输
- Unix管道友好:完全支持stdin/stdout,遵循Unix工具设计哲学
- 二进制安全:正确处理二进制数据流,避免Windows命令行文本转换问题
- 色彩空间标准化:统一使用sRGB色彩空间,确保跨平台显示一致性
- 透明度支持:完整保留PNG透明度信息
- Windows 10/11
- Visual Studio 2019 或更新版本
- CMake 3.10+
- Windows SDK
# 克隆或下载源码后
.\build.bat
# 或手动编译
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cmake --build . --config Release编译完成后可将可执行文件复制到系统PATH:
copy build\Release\imgcopy.exe C:\Windows\System32\
copy build\Release\imgpaste.exe C:\Windows\System32\# 复制本地文件到剪贴板
imgcopy.exe image.png
# 从标准输入复制图像
type image.jpg | imgcopy.exe -
curl https://example.com/image.png | imgcopy.exe -
# 从剪贴板提取图像
imgpaste.exe > output.png# Windows -> macOS
imgpaste.exe | ssh user@macbook.local "imgcopy -"
# macOS -> Windows
ssh user@macbook.local "imgpaste" | imgcopy.exe -# 图像处理管道
imgpaste.exe | some-image-processor.exe | imgcopy.exe -
# 与API集成
imgpaste.exe | base64 -w 0 | curl -X POST -d @- api-endpoint
# 批量处理
for %f in (*.jpg) do imgcopy.exe "%f" && pause本工具与macOS版本完全兼容:
- 格式统一:输出标准PNG格式
- 色彩一致:使用sRGB色彩空间
- 元数据清理:移除平台特定信息
- 二进制安全:通过SSH等传输保持数据完整性
- 使用GDI+进行图像处理
- 标准Windows剪贴板API (CF_BITMAP)
- 二进制模式stdin/stdout处理
- RAII管理GDI+资源
- Unicode文件路径支持
编译错误:
- 确保安装了Windows SDK
- 检查Visual Studio版本兼容性
运行时错误:
- 确保系统有足够内存处理大图像
- 检查文件路径是否正确(支持Unicode)
跨平台传输问题:
- 确保SSH连接使用二进制模式
- 检查网络传输是否完整
| 功能 | Windows版本 | macOS版本 |
|---|---|---|
| 基础功能 | ✅ 完全兼容 | ✅ 原版 |
| 管道支持 | ✅ 完全支持 | ✅ 原生支持 |
| 跨平台传输 | ✅ PNG标准化 | ✅ 原生PNG |
| 透明度 | ✅ 完整支持 | ✅ 完整支持 |
| 构建复杂度 | 🟡 需要VS | 🟢 仅需Swift |
本项目遵循MIT许可证,与原macOS版本保持一致。