在你的设备上把 PNG 转换成真正的矢量 SVG。真实描摹,可编辑路径,不上传任何内容。
PNG to SVG Converter — 4.0 版
4.0 版是一次重写。转换器现在能生成真正的矢量图形,弹出窗口按照大家实际的使用方式重新设计,一长串曾经悄悄让用户白忙一场的缺陷也都已修复。
真正的矢量描摹
在此之前,这个扩展程序其实没有做任何矢量化。它读取你的 PNG,把它编码后包进一个 SVG 容器里。文件以 .svg 结尾,打开也不会报错,但里面只有一张位图,没有一条矢量路径。放大时依然会出现锯齿。体积大约比原来的 PNG 还大三分之一。而且在任何设计工具里都无法当作图形来编辑。
4.0 版用真正的描摹引擎取代了这种做法。图像会被分析、缩减为一组调色板,并转换成带拟合曲线的真实矢量路径。结果可以放大到任意尺寸而不损失清晰度,在 Illustrator、Inkscape、Figma 和 Affinity 中打开时是可编辑的图形,而且通常比原图小得多。
描摹方式由你决定:全彩、有限调色板,或干净的黑白。滑块可以调节颜色数量、曲线的平滑程度、拐角要多尖锐才保留为尖角,以及去除多少杂点。尖角保持尖锐,曲线保持平滑。
如果你更喜欢以前的行为,把“可缩放输出”开关关掉,就会像以前一样直接嵌入原始图像。描摹默认是开启的;嵌入现在是一个明确的选项,而不再是转换器唯一能做的事。
重要的修复
文件在设计软件里打开是空白的。生成的 SVG 引用图像时使用了浏览器能接受、但大多数专业工具并不支持的写法。Illustrator、较旧版本的 Inkscape 以及许多印刷流程会直接丢掉这张图像,只显示一个空文档。现在的输出同时遵循旧的和新的 SVG 写法,因此在哪里都能打开。
“可缩放”的输出并不能缩放。文件输出时没有 viewBox,也就意味着尺寸是固定的,在网页或版面中无法正确调整大小。现在每个文件都带有 viewBox。
扩展程序可能永久卡死。如果某个文件读不出来——被移动、被删除,或者位于已断开的驱动器上——程序就彻底停住了。“转换”按钮一直处于禁用状态,那一行的转圈一直转个不停,也不会出现任何错误。唯一的出路是关掉再重新打开,而这会丢弃队列中的全部内容。现在每一条失败路径都会走完,并报告自身的情况。
批量下载会丢失。转换多个文件时会在极短时间内触发一连串下载,Chrome 会对此限流,于是有些文件根本没有下载下来——而界面却给每一个文件都打了成功的对勾。现在成批的结果会打包成一个 ZIP 送达,而“成功”意味着文件确实已经保存到你的磁盘上。
大图会让弹出窗口崩溃。之前没有任何地方检查文件大小或图像尺寸,因此一张大图就可能耗尽内存,把整个队列一起拖垮。现在会预先执行限制,并给出清晰的提示。
错误提示等于什么都没说。任何失败都只会显示同一个看不出所以然的红色图标:没有原因,没有细节,没有重试,控制台里也什么都没有。现在每次失败都会在对应的行上写明原因,在重试有意义时提供重试,其余的文件继续处理。
删除文件并没有真的删除。在转换过程中删掉某一行,那个文件仍然会被转换并下载。现在在任务运行期间,队列会被正确锁定。
另外修复:始终没有释放的对象 URL;每次取消都会泄漏的文件选择器;仅由 viewBox 指定尺寸的 SVG 转换后变成空白图像;无效的清单文件键名;模糊的工具栏图标;每次打开都出现的控制台错误;以及以不安全的方式把译文写入页面的问题。
弹出窗口的新变化
把文件拖到窗口的任意位置,或者直接从剪贴板粘贴。文件对话框现在只是备选方式,不再是唯一的入口。
队列中的每个文件都会显示缩略图、尺寸和体积——转换完成后,缩略图会变成转换结果,于是每一行本身就是一组前后对比。点击它可以按原始大小打开结果。
一个按钮,四种状态:“选择”“转换”“正在转换第 2 个,共 3 个”“全部下载”。下一步操作始终是主按钮。
转换好的文件留在列表里,旁边是“保存”和“复制 SVG”。自动保存现在需要你主动开启,所以一批文件转换完成后,不会突然向你抛出一堆下载。
转换在主线程之外运行,带有逐个文件的进度显示和真正可用的“取消”,因此窗口不会失去响应。关闭弹出窗口后,你的队列依然保留。
在任意页面右键点击任意图像,即可直接转换。设置页面里有高级选项、输出优化器、文件名模板、深色模式,以及最近的转换记录。
隐私
一切都在你的浏览器内运行。不会上传任何图像,不会连接任何服务器,即使完全没有网络连接,这个扩展程序也能正常工作。它不会请求访问你在任何网站上的浏览数据。
