SVG矢量图是什么?用大白话讲清楚。
古有PNG模糊不清,今有SVG无损高清。
今天彪哥来讲讲SVG矢量图是什么。
一、为什么有些图片放大不会变模糊?
首先我们随便打开一个人的头像,
比如我的,
正常看的话还挺清晰的,对吧?
但现在我们放大5倍
可以看到,
这张图片已经出现明显的模糊,
细节不够连贯,像是出现了“马赛克”。
我们再打开另外一张图片,
不放大当然也是清晰的,
但是,当我们同样放大5倍,
可以看到,图片非常的清楚,
甚至放大到极限,图片也没有出现任何的马赛克。
为什么第二张图片放大不会变模糊?
原因就是第一种只是普通的图片格式(png),
而第二张是SVG格式的矢量图。
二、SVG到底是什么?
很多人第一次听到 SVG,都会以为它是一种“图片格式”,
其实 SVG和普通图片完全不是一个路数。
举个例子:
假设电脑要画一个红色的圆。
普通图片(PNG /JPG)的做法是告诉电脑,
这有一个红色小点,那有一个红色小点,
积少成多,变成一个红色的圆形。
也就是说,它是把一个一个像素点记录下来。
所以这种图片有个问题:一旦放大,就会变成马赛克。
因为它本来就只有这么多像素。
而 SVG 完全不是这种方式。
SVG 的做法是:电脑直接写“指令”,兄弟,你帮我画个圆,
画一个圆 半径:50 颜色:红色
也就是说:
SVG记录的不是像素,而是“怎么画这个图”。
这样区别就出来了:
普通图片是:
已经拼好的拼图。
SVG 是:
一张“画图说明书”。
如果你把 SVG 放大 100 倍,
电脑只是重新按照说明书再画一遍。
所以它永远不会糊。
三、SVG是怎么发明出来的?
我们把时间倒回到 90年代的互联网。
那时候网页上的图片基本只有两种:
- JPG
- PNG(或者更早的 GIF)
这些图片有一个共同的问题:
一旦放大,就会变糊。
于是很多工程师就在想:
能不能造一种图片,放大之后依然清晰?
后来,负责制定网页标准的组织World Wide Web Consortium(简称 W3C),
他们在1999年推出了SVG,
S的意思是可以缩放,--Scalable
V的意思是矢量,--Vector
G的意思是图形,--Graphics
合起来就是可缩放的矢量图,
简称矢量图。
四、现在在哪些地方用SVG最多?
其实只要打开手机、连上网络,
我们看到的每一个画面,都藏着它的身影。
1.网页与 App 图标
手机 App 里的按钮、返回箭头、搜索框的放大镜、点赞的爱心,大部分都是 SVG。
为什么呢?
因为现在的屏幕分辨率五花八门。
如果用普通图片,平常没事,
但在高清屏上可能就糊了。SVG 能保证在任何屏幕下都像刚出厂一样精致丝滑。
2.品牌Logo和校徽
公司的 Logo 既要印在员工工牌上,
也要印在楼顶几十米宽的巨型广告牌上,
如果不用SVG,美工每次大小不同都需要做一张图片。
做一个 SVG 母版,不管以后要印在多大的地方,直接拉大就行。
3.展示型地图
SVG 在 展示型地图 里用得也非常多。
有些网站会放这类地图:
- 中国地图
- 各省数据分布图
- 公司业务分布图
这种地图一般只是用来 展示信息,比如:
- 点击某个省份
- 看某个地区的数据
- 高亮某个区域
这种情况下,用 SVG 非常合适。
可以随便放大,不会变糊,
每个区域都可以单独点击,
还可以加上动画效果,
而且这种地图通常不复杂,
对电脑和手机来说非常轻松。
那么百度地图,高德地图也是SVG吗?
这类大型在线地图 不太适合直接用 SVG ,
因为这种地图里面包含的东西太多了,
小到一栋楼,大到一条河流,一个国家,
如果全部写成一个 SVG,那就相当于手机一秒画N个图像,
手机会卡爆,电脑也受不了。
所以大型地图一般不会直接传一张 SVG 图片。
而是采用更聪明的方式:
不会一次把整个地图都加载出来,
而是用瓦片技术,只加载你当前看到的那一小块,
这样就非常省资源了。
五、头像用SVG会更高清吗?
那现在有个问题,我的头像感觉不是很高清,
我换成SVG格式会变好吗?
想法很丰满,现实很骨感。
没用,因为目前主流的社交平台,
都不支持直接使用 SVG 做头像,
SVG连上传都不被允许。
为什么平台要把 SVG 拒之门外?
显示一张像素图,手机只需“贴图”,
显示一张 SVG,手机得现场“画图”。
如果群聊里 500 人全是矢量头像,手机能直接发烧。
还有一点,因为本质上SVG是代码,
那就有可能会出现恶意代码,
用来攻击用户或者平台的服务器,
虽说技术上可以清洗代码,
但显然成本过高,没有一个主流的社交平台可以用SVG头像。
如果真想提升头像清晰度,彪哥建议你用AI修复成高清图片,
这显然更靠谱。
六、开个脑洞,电影变成矢量视屏能实现吗?
目前,像Vectorizer这样的公司,已经能做到,
把一张模糊的PNG,直接转换成高清的SVG。
视频不就是一帧一帧的图片吗?
如果把电影里的每一帧都变成矢量图,矢量电影这事儿能成吗?
想象一下,如果《流浪地球》或《阿凡达》是全矢量格式的:
文件一样大,我们在手机看是超清,投屏到影院屏幕上,
每一粒尘埃,每一根睫毛都还是一样高清,一点也不会降画质。
但这事儿,光靠“转换”可能永远也成不了。
因为电影里的光影、烟雾、飘动的尘埃,每一帧都不一样。
如果靠“转换”,下一帧就可能画错形状,画面就会跳来跳去,非常不自然。
不过,咱们平时玩的 3A 游戏大作其实给了我们参考,
游戏之所以永远清晰,是因为显卡里保存了场景的数学模型,
只要算力够,无论屏幕多大,它都能根据这些模型实时生成画面,所以画面不会模糊。
也许未来真正的矢量电影,不是“转出来”,而是 AI直接“造出来” ,
彪哥期待那一天早日到来。
七、总结一下
讲了这么多,最后浓缩成一句话。
古有PNG模糊不清,今有SVG无损高清。
说到底,SVG 不是一种简单的图片,它是人类用数学规律去模拟视觉的一次伟大尝试。
大家以后看到那些怎么放大都清晰的图标,记得跟身边人显摆一句:“嘿,这叫 SVG,那是数学的美感!”
感谢各位朋友捧场!要是觉得内容实在有用,别客气,点赞、在看、转发,咱直接三连安排上! 想以后第一时间看着咱的干货,别忘了给咱整个星标⭐,别到时候找不着了。
行了,今儿就到这儿。
论成败,人生豪迈,我们下期再见!