Skip to content

Repository files navigation

Crop it 图标

Crop it

一个高效、轻量、专注于多区域裁切的 Windows 桌面工具。

简介

Crop it 用于快速完成“打开或粘贴图片 → 创建一个或多个裁切框 → 一次保存全部结果”的工作流。

它支持多个相互重叠的裁切框、常用比例、宽高反转和自动命名,不试图成为通用图片编辑器。当前版本为 v0.1.0,仅支持 Windows。

Crop it 主界面

功能

  • 打开或拖入 JPEG、PNG 图片。
  • 使用 Ctrl+V 直接粘贴剪贴板图片。
  • 创建、选择、移动和八方向缩放裁切框。
  • 按住 Ctrl 拖动新增裁切框,多个裁切框可以重叠。
  • 支持自由比例、1:1、4:3、3:2、16:9、21:9。
  • 支持宽高反转,并保持裁切框的比例颜色标记。
  • 使用滚轮缩放图片,按住中键平移画布。
  • 使用 Ctrl+S 一次保存全部裁切结果。
  • 自动生成稳定、可预测的输出文件名。
  • 使用 WPF Imaging / WIC 在后台加载和保存图片。

系统要求

  • Windows 10 或 Windows 11。
  • .NET 10 SDK
  • 当前主要在 Windows x64 环境验证。

本仓库目前提供源码运行方式,不包含安装包。

快速开始

克隆或下载仓库后,可以直接双击根目录中的:

start-cropit.bat

脚本会检查 dotnet,然后直接构建并启动应用,不执行发布或打包。

也可以在项目根目录使用 PowerShell 7:

pwsh.exe -NoProfile -Command "dotnet run --project Cropit.App"

首次运行时,.NET 会自动还原 NuGet 依赖。

使用方法

  1. 点击“打开”、将图片拖入窗口,或按 Ctrl+V 粘贴图片。
  2. 在图片上拖动鼠标创建第一个裁切框。
  3. 按住 Ctrl 拖动可以继续创建裁切框。
  4. 选择比例,移动或缩放各个裁切框。
  5. Ctrl+S 一次保存全部裁切结果。

软件底部的“使用说明”入口也会显示操作方法和自动命名规则。

自动命名

打开本地图片时,裁切结果默认保存在原图所在目录。

来源 裁切框数量 输出示例
photo.jpg 1 photo_cropped.jpg
photo.jpg 多个 photo_crop_01.jpgphoto_crop_02.jpg
剪贴板图片 1 clipboard_20260724_143052_cropped.png
剪贴板图片 多个 clipboard_20260724_143052_crop_01.pngclipboard_20260724_143052_crop_02.png

补充规则:

  • 多个结果按照裁切框的创建顺序输出并连续编号。
  • 剪贴板图片首次保存时需要选择目录,文件名包含粘贴时间。
  • JPEG/PNG 文件默认跟随原图格式,剪贴板图片固定保存为 PNG。
  • JPEG 输出质量固定为 90。
  • 原图不会被覆盖。
  • 重复保存同一组结果时,同名的导出文件会被更新。

快捷键

快捷键 功能
Ctrl+O 打开图片
Ctrl+V 粘贴剪贴板图片
Ctrl+拖动 新增裁切框
Ctrl+S 保存全部裁切结果
Delete 删除当前裁切框
Esc 取消当前操作
鼠标滚轮 缩放图片
鼠标中键拖动 平移图片

技术栈

  • .NET 10
  • C# 14
  • WPF + XAML
  • CommunityToolkit.Mvvm
  • WPF Imaging / Windows Imaging Component
  • xUnit

项目不依赖 ImageSharp、SkiaSharp 或 Magick.NET。

项目结构

Cropit.App/          WPF 界面、ViewModel、快捷键和应用服务组合
Cropit.Core/         裁切框、比例、坐标和输出命名规则
Cropit.Imaging.Wic/  图片解码、裁切、编码和 EXIF 方向处理
Cropit.Tests/        Core 与输出命名测试
tools/               GUI 自动验收工具

Cropit.Core 不依赖 WPF,可以独立测试。界面层不直接实现图像编码或文件命名规则。

详细功能范围见 features.md,UI 与软件分层规范见 FRAMEWORK.md

构建与测试

在项目根目录使用 PowerShell 7:

pwsh.exe -NoProfile -Command "dotnet build Cropit.slnx --configuration Release"
pwsh.exe -NoProfile -Command "dotnet test Cropit.slnx --configuration Release --no-build"

当前自动化测试覆盖 Core 几何和输出命名规则。

当前不包含

v0.1 暂不提供:

  • 批量打开多张原图。
  • 撤销和重做。
  • 旋转和翻转。
  • 自定义比例与精确坐标输入。
  • 图片滤镜和 AI 智能裁切。
  • 设置页面和自动更新。
  • macOS 或 Linux 版本。

参与贡献

欢迎提交 Issue 或 Pull Request。详细约定见 CONTRIBUTING.md,安全问题请按 SECURITY.md 私下报告。提交代码前请:

  1. 保持 v0.1 的轻量产品边界。
  2. 不要让 Cropit.Core 依赖 WPF。
  3. 为几何、命名和其他纯逻辑变更补充测试。
  4. 确保 Release 构建和全部测试通过。

许可证

Crop it 使用 MIT License 开源。

About

A lightweight multi-region image cropping tool for Windows.

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages