图片压缩/格式转换
压缩图片、调整尺寸,或者在JPEG、PNG、WebP之间转换格式——全程在你的浏览器里处理,不会上传到服务器。
压缩到底是怎么实现的
图片会先被解码,按你选的尺寸重新绘制到内存里的画布(canvas)上,再用浏览器自带的图像编码器转换成目标格式——原理上跟原生App用的是同一套机制,只是全程在本地运行,不经过服务器。JPEG和WebP是有损格式,用细节换文件体积,所以有质量滑块可以调;PNG是无损格式,没有质量可调,它的文件大小只取决于分辨率和图像本身的复杂度。
在同等质量下,WebP产出的文件通常最小,而且所有主流浏览器都支持,是个不错的默认选择,除非你有兼容性方面的特殊需求必须用JPEG。调整尺寸(限制最大宽度)对文件大小的影响,往往比单靠质量滑块更明显——尤其是手机直接拍出来的照片,分辨率通常远超网页展示实际需要的大小。
常见问题
我的图片会被上传吗?
不会——解码、调整尺寸、重新编码整个过程都用Canvas API在你的浏览器本地完成。图片文件不会离开你的设备,处理私人照片也是安全的。
应该选哪种格式?
如果你的使用场景支持,选WebP能在保证画质的同时得到最小的文件体积。JPEG兼容性最好,适合照片。只有当你需要透明背景,或者图片是截图/线条清晰、颜色平整的图形时才用PNG——这类图片用有损压缩效果通常会变差。
为什么文件没有变小?
如果原图本身已经压缩得比较到位(或者你给照片选了PNG格式,这通常不太合适),处理后的文件反而可能比原图更大。可以试着调低质量滑块,或者换成JPEG/WebP格式,如果图片分辨率明显超出实际需要,也可以打开“限制最大宽度”。