图像库stb_image & stb_image_write
Github: https://github.com/nothings/stb/
stb_image
stb的库像素数据都是从左到右,从上到下存储
使用 stbi_set_flip_vertically_on_load(true); 上下翻转
使用 stbi_flip_vertically_on_write(true); 在写数据的时候翻转 (在stb_write_image中)
- 使用库
1 |
- 局限
- no 12-bit-per-channel JPEG
- no JPEGs with arithmetic coding
- GIF always returns *comp=4
- 基础用法
1 | int x,y,n; |
颜色通道
- 1: 灰度图
- 2: 灰度Alpha图
- 3: 红绿蓝三色图
- 4: 红绿蓝三色Alpha图
错误信息
1 |
|
- 简单的使用
1 | int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); |
- Else
作者还提到了PNG压缩,可提供自己的压缩函数,还有JPG质量的参数
代码示例
1 |
|
- 原图像
- 处理后
作者还有一个stb_image_resize.h
支持对图像的简单放缩平移等操作