首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GLFW SetWindowIcon

GLFW SetWindowIcon
EN

Stack Overflow用户
提问于 2017-06-02 06:06:15
回答 2查看 10.9K关注 0票数 8

因此,我试图为我的glfw窗口设置窗口图标(很明显),但是我在设置窗口图标时遇到了困难,因为我不知道如何使用GLFWimage设置图标。文档中的代码如下所示:

代码语言:javascript
复制
GLFWimage images[2];
images[0] = load_icon("my_icon.png");
images[1] = load_icon("my_icon_small.png");
glfwSetWindowIcon(window, 2, images);

但是,它并没有展示如何使用或创建"load_icon“函数。有人能帮忙吗因为我已经找了好几个月了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-02 08:31:21

代码语言:javascript
复制
glfwSetWindowIcon(GLFWwindow * window, int count, const GLFWimage * images)

我认为前两个参数是清楚的,第三个参数是GLFWimage,它是一个带有字段int width, int height, unsigned char * pixels的结构,但是您的任务是为它提供数据,GLFW没有给您提供加载图像的函数,但是有几个库可以或者可以编写自己的函数来获取图像数据。

我不是真正的c++的家伙,所以我不知道最新的/最好的库,但有土壤,例如,它会工作得很好。就像这样:

代码语言:javascript
复制
GLFWimage icons[1];
icons[0].pixels = SOIL_load_image("icon.png", &icons[0].width, &icons[0].height, 0, SOIL_LOAD_RGBA);
glfwSetWindowIcon(window.window, 1, icons);
SOIL_free_image_data(icons[0].pixels);
票数 15
EN

Stack Overflow用户

发布于 2020-11-11 09:13:37

如果您使用的是"stb_image.h",则应该使用以下代码:

代码语言:javascript
复制
GLFWimage images[1]; 
images[0].pixels = stbi_load("PATH", &images[0].width, &images[0].height, 0, 4); //rgba channels 
glfwSetWindowIcon(window, 1, images); 
stbi_image_free(images[0].pixels);
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44321902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档