图片缩放工具

纯本地处理的在线图片缩放工具,支持 按宽度 / 按高度 / 按宽高 / 按百分比 / 按预设尺寸共 5 种缩放模式。 内置 8 种预设尺寸(缩略图 256 / SD 480p / HD 720p / FHD 1080p / 2K 1440p / 4K 2160p / 原图 50% / 原图 200%),可选 允许或禁止放大锁定等比, 导出 PNG / JPEG / WebP / AVIF 格式; 批量模式支持 ZIP 打包下载。基于 Canvas API 的 drawImage 整图重采样(imageSmoothingQuality=high), 在浏览器本地完成缩放,零上传、零追踪、可离线使用

点击或拖拽上传图片
支持 PNG / JPEG / WebP / AVIF / GIF / BMP,单文件 ≤ 20.00 MB
缩放配置

上传图片后选择缩放模式,全本地处理,零上传零追踪

常见问题

图片缩放是否在本地处理?会上传图片吗?

是的,全部在浏览器本地处理,图片不离开浏览器。 缩放由浏览器原生 Canvas API 完成:原图通过 createImageBitmapHTMLImageElement 加载,缩放通过 ctx.drawImage(img, 0, 0, srcW, srcH, 0, 0, dstW, dstH) 的目标矩形参数 完成整图重采样,最终通过 canvas.toBlob() 在内存中生成目标格式的二进制数据。 全程零网络请求,可在浏览器开发者工具 Network 面板确认。

5 种缩放模式分别是什么?怎么选?

本工具提供 5 种缩放模式:
- 按宽度:仅指定目标宽度,高度按原图比例自动等比缩放。适用于"我要 1280 宽的图"场景
- 按高度:仅指定目标高度,宽度按原图比例自动等比缩放。适用于"我要 720 高的图"场景
- 按宽高:同时指定宽高,可锁定等比(按主导方向缩放不变形)或自由拉伸(允许变形)
- 按百分比:按原图百分比缩放,50 = 一半尺寸,200 = 两倍尺寸
- 按预设尺寸:选择常用预设(缩略图 / HD / 4K 等),按长边等比缩放
选择建议:精确控制宽或高用「按宽度/高度」,整体尺寸控制用「按宽高 + 锁定等比」, 快速缩放用「按百分比」,社交媒体常用尺寸用「按预设尺寸」。

什么是"按长边等比缩放"?预设尺寸是如何计算的?

按长边等比缩放是预设尺寸模式的核心算法:找出原图宽高中较长的一边(长边), 按目标长边计算缩放比,短边按相同比例缩放,保证整体不变形。
例如:原图 4000×3000(横版,长边 4000),选择 HD 720p(长边 1280),
缩放比 = 1280 / 4000 = 0.32,目标尺寸 = 4000×0.32 × 3000×0.32 = 1280 × 960。
预设尺寸清单:
- 缩略图 256:长边 256px,适合列表/相册缩略图
- SD 480p:长边 854px,标清视频封面
- HD 720p:长边 1280px,高清视频/网页配图
- FHD 1080p:长边 1920px,全高清壁纸
- 2K 1440p:长边 2560px,2K 显示器壁纸
- 4K 2160p:长边 3840px,4K 壁纸/印刷
- 原图 50% / 200%:按百分比缩放,与原图方向无关

允许放大是什么意思?为什么默认关闭?

允许放大开关控制目标尺寸大于原图时的行为:
- 关闭(默认):目标大于原图时保留原尺寸,不放大。避免放大后出现马赛克与锯齿, 保护图片质量
- 开启:按目标尺寸放大。适用于特殊场景(如小图放大到指定尺寸用于打印模板、 生成位图素材等),但放大后画质会下降
为什么默认关闭:放大本质是插值生成新像素(双线性/双三次插值), 无法恢复原图没有的细节,反而会暴露像素感。绝大多数场景(社交媒体、网页配图、缩略图) 都只需要缩小不需要放大。

缩放后的画质会损失吗?用了什么重采样算法?

缩小场景:画质几乎无损(视觉感知层面),但本质是有损的——缩小丢弃了部分像素信息。 本工具使用浏览器最高质量重采样算法:ctx.imageSmoothingEnabled = true + imageSmoothingQuality = 'high',主流浏览器实现为 双三次插值(Bicubic Interpolation),比双线性插值的锯齿更少、过渡更平滑。
放大场景:画质必然下降,放大倍数越大越明显(2 倍以内尚可接受,4 倍以上明显马赛克)。 浏览器原生 API 不支持 AI 超分辨率(如 ESRGAN、Real-ESRGAN),如需 AI 放大请使用专业工具。
格式影响:JPEG/WebP/AVIF 是有损格式,质量参数(1-100)影响最终体积与画质; PNG 是无损格式,质量参数不生效。

为什么导出 JPEG 后透明区域变白色?

这是由格式特性决定的:
- JPEG 不支持透明通道,转换时透明区域会被填充为默认背景色(白色 #ffffff)
- PNG / WebP / AVIF 支持透明,可保留原图的透明区域
本工具默认导出 WebP 格式以兼顾体积与透明支持。如需 JPEG,且原图含透明区域(如 PNG 截图、WebP 图标), 会自动填充用户选择的背景色(默认白色,可在配置区修改为任意颜色)避免透明区域变黑。

支持哪些输出格式?AVIF 总是可用吗?

支持 PNG / JPEG / WebP / AVIF 四种格式,但 AVIF 受浏览器编码能力限制:
- PNG / JPEG / WebP:所有现代浏览器均支持编码(Chrome / Firefox / Safari / Edge)
- AVIF:仅 Chrome 93+ 与 Safari 16.4+ 支持 toBlob 编码, Firefox 截至最新版本仍不支持 AVIF 编码(仅支持解码)
工具加载时会自动探测浏览器编码能力,仅显示当前浏览器实际支持的格式选项, 避免选 AVIF 却生成 PNG 的困惑。如需 AVIF 输出,请使用 Chrome 或 Safari。

批量缩放有多少张限制?ZIP 打包是什么原理?

批量上限 20 张,单文件 ≤ 20MB,避免浏览器内存堆积导致崩溃。
ZIP 打包原理:本工具采用 ZIP STORE 模式(compression method = 0), 不压缩文件内容,仅做打包归档。原因:
- 图片本身已是压缩格式(PNG/JPEG/WebP/AVIF),二次 DEFLATE 压缩收益极小但 CPU 开销显著
- STORE 模式比 DEFLATE 快 5-10 倍,浏览器与系统原生支持解压,兼容性最佳
- 完全在浏览器本地用 DataView + Uint8Array 构造 ZIP 二进制, 包含 Local File Header + 文件数据 + Central Directory + EOCD 完整结构, 内置 CRC32 校验(256 项预计算查找表),UTF-8 文件名标志位确保中文文件名正确识别
批量使用流程:上传多张 → 调整统一规格 → 点击「批量缩放」→ 等待逐张处理 → 「逐个下载」或「下载为 ZIP」。