是在opengl教程网站上看到的,挺好用。

stb_image.h一个非常流行的单头文件图像加载库,它能够加载大部分流行的文件格式,并且能够很简单得整合到你的工程之中。

下载地址:stb/stb_image.h at master · nothings/stb · GitHub

只有一个头文件,将它加入你的工程,并另创建一个新的C++文件,输入以下代码:

#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"

通过定义STB_IMAGE_IMPLEMENTATION,预处理器会修改头文件,让其只包含相关的函数定义源码,等于是将这个头文件变为一个 .cpp 文件了。现在只需要在你的程序中包含stb_image.h并编译就可以了。

int width, height, nrChannels;
unsigned char *data = stbi_load("container.jpg", &width, &height, &nrChannels, 0);

这个函数首先接受一个图像文件的位置作为输入。接下来它需要三个int作为它的第二、第三和第四个参数,stb_image.h将会用图像的宽度高度颜色通道的个数填充这三个变量。我们之后生成纹理的时候会用到的图像的宽度和高度的。

使用例子

其他的一些功能:

//翻转y轴
stbi_set_flip_vertically_on_load(true);

好轮子收藏:一个支持几乎所有流行格式的图像加载库stb_image.h相关推荐

  1. 用Assimp模型加载库加载一个Crytek的游戏孤岛危机(Crysis)中的原版纳米装(Nanosuit)

    用这个例子来对GitHub上的LearnOpenGL教程前四个单元用到的所有自定义或者引入的各种头文件和资源进行一个总结,不得不说这个教程简直太美妙了. 这个模型是来自对GitHub上的LearnOp ...

  2. ABViewer Crack,功能丰富的软件支持 60 多种流行格式

    ABViewer Crack,功能丰富的软件支持 60 多种流行格式 功能丰富的软件支持 60 多种流行格式,包括 DWG.DXF.HPGL.CGM.SVG.PDF.STEP.IGES.STL. AB ...

  3. 一个可以拖拽的异步按需加载树

    最近完成了一个可以拖拽的异步按需加载树,顾名思义,这个树,至少支持以下三个功能. 1,节点可以拖拽(项目需要,已设置为只允许同级节点拖拽). 2,异步加载(使用ajax加载数据,没啥好说的). 3,按 ...

  4. Android图片加载库—Picasso一个强大的图像下载和缓存库

    介绍 GitHub源码 点击查看 Picasso是一款强大的图片下载和缓存开源软件,只能在Android平台上使用,由Square开发.使用Picasso可以添加一些必须的特性和视觉效果到Androi ...

  5. 3D Web可视化引擎HOOPS Communicator 2022 SP1更新亮点:新增支持2个格式、选择性加载 CAD 视图

    HOOPS Communicator 2022 SP1更新基于 HOOPS Visualize HPS 2022 SP1.HOOPS Exchange 2022 SP1 和 HOOPS Publish ...

  6. mysql_connect() 不支持 请检查 mysql 模块是否正确加载

    在上面文章的基础上配置PHP环境完成之后发现安装(discuz)论坛时候还是有问题! 函数名称                                检查结果          建议 mysq ...

  7. 一个页面上有大量的图片,加载很慢,你有哪些方法优化这些图片的加载?

    一个页面上有大量的图片,加载很慢,你有哪些方法优化这些图片的加载? 1.使用 Sprites 图片技术 它将一个页面涉及到的所有零星图片都包含到一张大图中去,然后利用 CSS 技术展现出来.这样一来, ...

  8. c++版本opencv(02-第一个OpenCV程序 03.图像加载与保存)

    c++版本opencv(02-第一个OpenCV程序) 一.02-第一个OpenCV程序 二,03.图像加载与保存 来自网易云课堂 一.02-第一个OpenCV程序 如果加载到了之后呢,我们就要对它进 ...

  9. Retrofit网络加载库二次封装支持RxJava与Flow-HttpUtils

    Retrofit网络加载库二次封装支持RxJava与Flow-HttpUtils HttpUtils是Retrofit网络加载库二次封装支持RxJava与Flow,包含网络加载动画.activity销 ...

最新文章

  1. 来谈谈Servlet~~
  2. Android饼图Pie Chart
  3. 并发编程(四)__ConcurrentHashMap
  4. 神经网络参数迁移与惯性质量
  5. Linux内核:Gigantic巨页与CMA的结合的PATCH补丁提交
  6. linux mint 19新功能,Linux Mint 19.3将在2019年12月正式发布,附新功能简介
  7. MPFlipViewController
  8. 多重背包(二进制优化)
  9. Hive--sql中的窗口函数
  10. 延长计算机屏幕显示时间,如何设置电脑显示屏保时间
  11. TortoiseSVN 汉化
  12. linux查看网络连接命令,linux查看网络链接状况命令之-netstat
  13. python文件起名字的时候不要用模块的名字,不然会默认导入本地的文件,找不到你要的模块方法,会报错AttributeError: module ‘random‘ has no attribute ‘
  14. x86 单线并发多拨_【转帖】适用所有CC版的 openwrt 单线并发多拨教程!!!
  15. BouncyCastle配置
  16. 用Acrobat打印小册子
  17. [C语言错误]expected declaration or statement at end of input)
  18. 住宅代理和数据中心代理哪个更好?
  19. 《运营力——微信公众号 设计 策划 客服 管理 一册通》导读
  20. typescript 的认识3

热门文章

  1. JEECG 版本更新日志
  2. 破境Angular(三)Angular构件之模块
  3. 生产环境运行Docker的9个关键决策
  4. Maven——profile介绍
  5. 20150905-Y1506401-19+benz2015+at、crontab等使用方法
  6. Hbase入门——安装
  7. VC6 Win7 x64 提示 Remote Executable path And File Name
  8. RHEL5-4的启动流程介绍
  9. HTML DOM教程 47-JavaScript Date 对象
  10. OJ1063: 最大公约与最小公倍(C语言)