避免图片丢失,建议阅读微信原文:
说到图像解码库,最容易想起的就是 libpng
和 libjpeg
这两个老牌图像解码库了。
libpng
和 libjpeg
分别各自对应 png
和 jpeg
两种图像格式。这两种格式的区别如下:
png
支持透明度,无损压缩的图片格式,能在保证不失真的情况下尽可能压缩图像文件的大小,因此图像质量高,在一些贴纸应用中也大部分用的是 png 图片。
jpg
不支持透明度,有损压缩的图片格式,有损压缩会使得原始图片数据质量下载,也因此它占用的内存小,在网页应用中加速速度快。
要想在工程中同时解码 png
和 jpeg
格式图片,就必须同时引用这两种库,而且还得经过一系列编译步骤才行。
在这里,介绍一个简单易用的图像库:stb_image
。Github 地址为:https://github.com/nothings/stb ,目前已经有了 9600+ Star 。它的使用非常简单,看看 README 可能你就会了。