如何将图片裁剪成圆形
把 JPG、PNG、WebP 或 AVIF 拖到页面上,Cropper.js v2 会把图片载入到带有圆形遮罩的舞台里。深色叠加层显示会被裁掉的区域,中间明亮的圆形就是保留下来的部分。拖动圆形对准主体,用角落手柄缩放,或者在触摸屏上用双指捏合。取景满意后,选择一种输出格式并点击保存。浏览器在本地完成编码并触发下载。裁剪过程中打开 DevTools 的网络面板,会看到它一直是空的。上传、拖动、保存这三步里都不会出现任何 POST 请求。
上传 JPG、PNG 或 WebP,在浏览器里裁成圆形,下载透明 PNG 或 WebP。
或将图片拖放到此处
正在裁剪…
把任意图片裁剪成圆形,直接在浏览器里完成,免费。把 JPG、PNG、WebP 或 AVIF 拖到页面上,Cropper.js 会在圆形遮罩区域里打开图片。拖动边框把圆形对准主体,缩放到合适大小,然后点击保存。浏览器会把结果编码成透明的 PNG、WebP 或 AVIF,或者在你选好背景颜色后编码成 JPEG,然后直接下载到设备上。在 DevTools 的网络面板里可以看到,整个过程没有任何图片上传请求。输入文件最大支持 25 MB 和 1600 万像素。这个工具在电脑和手机浏览器上都能用,不用安装任何东西。大多数人用它来处理 LinkedIn、Discord、Slack 或 Instagram 上头像的圆形裁剪,让方形照片在圆形框里呈现得更好看。
把 JPG、PNG、WebP 或 AVIF 拖到页面上,Cropper.js v2 会把图片载入到带有圆形遮罩的舞台里。深色叠加层显示会被裁掉的区域,中间明亮的圆形就是保留下来的部分。拖动圆形对准主体,用角落手柄缩放,或者在触摸屏上用双指捏合。取景满意后,选择一种输出格式并点击保存。浏览器在本地完成编码并触发下载。裁剪过程中打开 DevTools 的网络面板,会看到它一直是空的。上传、拖动、保存这三步里都不会出现任何 POST 请求。
四种输出格式各有所长。PNG 是兼容性最广的透明格式,适合徽标和头像。WebP 在 q85 到 q90 下视觉无损,文件比 PNG 小 25% 到 40%,同样支持透明,适合网页使用。AVIF 文件最小,通常比 WebP 再小 40% 左右,也支持透明,但在中端手机上对 800 万像素照片编码可能需要约 30 秒,因为 WASM 编码器在 CPU 上运行。JPEG 编码最快,只支持纯色背景,需要你先选好圆形外区域的填充颜色,适合不接受透明文件的场合。
不同平台对圆形头像的尺寸要求并不一样。LinkedIn 头像在个人主页以圆形显示,最小推荐 400×400 像素。Discord 的频道图标最大 512×512,在服务器成员列表里显示为 128×128 像素的圆形头像。Instagram 在手机主页以约 110 像素的圆形展示头像。Slack 工作区头像上传最大 512×512,在频道列表里渲染成约 36 像素的小圆。这个工具按原始照片的分辨率导出,如果需要精确像素尺寸,建议先用 /resize/ 调整图片大小,再做圆形裁剪。
诚实说明几条限制。输入文件最大 25 MB、1600 万像素,超过会被友好地拒绝。HEIC 只在 Safari 上可用,因为 Chrome、Firefox、Edge 至今没有为 HEIC 实现 createImageBitmap,改名为 .jpg 也无法绕过,因为工具按魔术字节识别。GIF 只导出第一帧,不保留动画。AVIF 在中端手机上对高分辨率照片编码大约需要 30 秒,这是 WASM 编码器的真实成本。工具不会自动识别人脸或主体,圆圈位置始终由你手动调整。
可观察的技术事实如下。Cropper.js 在浏览器的 Canvas API 内运行裁剪,编码通过 canvas.toBlob 完成,AVIF 走 @jsquash/avif 的 WASM 编码器,这些步骤都在本地。验证方法很简单:打开 DevTools 的网络面板,清除已有记录,然后上传图片并拖动裁剪框,整个过程中不会出现任何携带图片数据的 POST 或 PUT 请求。点击保存时,下载来自 URL.createObjectURL 生成的本地 blob,而不是来自服务器。这就是浏览器内处理的可验证证据。
圆形头像的用途比想象中广。LinkedIn、Discord、Slack、Instagram、WhatsApp、Telegram 都会把你上传的方形图片自动裁成圆形,提前自己裁好,可以决定圆形框里到底显示什么,而不是任由平台随机裁剪。品牌的圆形徽标、徽章、团队照片网格、Discord 服务器图标也都属于这个用法。一个实用经验:头像照片把头部居中并在头部周围留一点空间,在圆形框里看起来比贴边裁剪自然得多,尤其是缩到 32 像素或 48 像素的小图时差别非常明显。
点击上传区域,或者把 JPG、PNG、WebP、AVIF 或 GIF 文件直接拖到页面上。圆形裁剪界面会自动打开。
拖动圆形,把脸或徽标居中。用双指捏合或滚轮缩放,直到取景满意为止。
PNG 或 WebP 支持透明背景,AVIF 文件最小,JPEG 适合需要纯色背景的情况。
浏览器在本地完成编码,文件会直接下载到设备上,文件名保留原名并加上 -circle 后缀。
把图片(JPG、PNG、WebP、AVIF、GIF 或 BMP)拖到裁剪区域,Cropper.js 会自动以居中的圆形选区打开图片。拖动圆形对准主体,用角落手柄或捏合手势调整大小,然后点击保存。浏览器默认编码并下载透明 PNG 文件。典型照片的整个处理过程不超过 30 秒。
输入支持 JPG、PNG、WebP、AVIF、GIF(仅首帧,不保留动画)、BMP 和 SVG。HEIC 格式在 Safari 上可用,因为 Safari 通过 createImageBitmap 原生支持。Chrome、Firefox 和 Edge 不支持 HEIC,会显示友好的错误提示。格式识别通过检查文件的魔术字节实现,而非文件名后缀,所以改过扩展名的文件依然能被正确识别。
会。PNG、WebP 和 AVIF 都支持 Alpha 通道,圆形以外的区域是完全透明的。在大多数设计工具或通讯应用里打开下载的文件,透明区域会显示为棋盘格图案。JPEG 不支持透明,选择 JPEG 时会提示选择圆形外区域的填充颜色。
不会。裁剪过程完全在浏览器内完成。可以自行验证:打开 DevTools(F12),切换到网络面板,清除已有记录,然后上传图片并拖动裁剪框。整个过程中不会出现任何携带图片数据的 POST 或 PUT 请求。下载文件来自本地 blob URL,图片数据不会发送到任何服务器。
上传头像照片,把圆形对准脸部,头部周围留一点空间,然后选择 PNG 或 WebP(支持透明背景)保存。LinkedIn、Discord、Slack 和 Instagram 的头像都以圆形显示,提前自己裁好可以控制圆形框里显示的内容,而不是让平台随机裁剪。
可以。这个工具在 iPhone、iPad 和 Android 手机的现代浏览器上都能运行,拖动手柄支持触控和捏合手势。手机上的主要限制是 AVIF 编码速度,高分辨率照片可能需要 30 秒或更长时间,因为 WASM 编码器在 CPU 上运行。PNG 和 WebP 速度更快,在中端设备上表现良好。
团队关于工艺、格式以及一个好的圆形裁剪背后小决定的笔记。