问题标签 [stb-image]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 从 stbi_loadf 返回初始化 3D 浮点数组?
我是 C++ 的新手。我有一个非常简单的程序,我正在研究并遇到困难。我正在使用从磁盘stb_image
加载。png file
我想把它放在内存中,这样像素 (x,y) 就位于p[y*width + x]
. 不知道如何初始化数组。
好奇应该在大括号中初始化什么。任何人都可以称重吗?
谢谢
c++ - 通过光线追踪制作 JPG(在一个周末进行光线追踪)
我正在关注周末的 Ray Tracing 一书,其中作者使用纯 C++ 生成了一个小型 Ray Tracer,结果是一个PPM 图像。
作者的代码
生成此 PPM 图像。
所以作者建议作为一个练习,让程序通过stb_image库生成一个JPG 图像。到目前为止,我尝试像这样更改原始代码:
这是结果:
如您所见,我的结果略有不同,我不知道为什么。主要问题是:
黑色显示在屏幕的左上角,并且通常颜色不会以从左到右、从上到下的正确顺序显示。
图像被“分割”成两半,结果实际上是作者的原始图像,但成对生成????
可能我对STB_IMAGE_WRITE应该使用的方式有一些误解,所以如果有使用这个库的人可以告诉我发生了什么,我将不胜感激。
编辑 1我实施了@1201ProgramAlarm 在评论中建议的更改,加上我更改struct RGB data[nx][ny]
为struct RGB data[ny][nx]
,所以现在的结果是这样的。
vulkan - 从图像文件中获取缩略图
我正在开发一个应用程序,我想显示大量图像,用户可以从中选择以全分辨率查看。图像的子集将在任何时间点对用户可见,其数量由用户使用控件控制,该控件将增加或减小缩略图大小。
目前,如果加载的图像过多,应用程序自然会耗尽 GPU 内存。
我正在考虑几种可能的方法,但我不确定哪种方法最好:
- 将完整图像加载到内存中,使用 CPU 将图像大小调整为缩略图,然后将其发送到 GPU
- 将完整图像加载到内存中,将其发送到 GPU 并在 GPU 上使用 vkCmdBlitImage 将其调整为缩略图大小
- 从应该嵌入jpeg的文件中加载缩略图(?)?(不知道如何获取缩略图)
解决这个问题的最佳方法是什么?
c++ - 将 stb_image 添加到 Visual Studio 项目时出现 C2014 错误
我计划使用 Sean Barrett 的库stb_image将图像加载到图形应用程序中。下面存储库中的 Lib 代码:
https://github.com/nothings/stb/blob/master/stb_image.h
尽管在将标头 stb_image.h 添加到您的项目中时,它的文档对我来说简短而清晰,然后:
做这个:
当我在 VS2013 上构建它时,编译器会抛出以下错误:
一开始以为是行尾问题(Win32 LF,Linux CR LF),但好像不是。
欢迎任何可能导致此错误的提示!
c++ - 为 opengl 纹理加载图像时,stb_image 不会垂直翻转
我尝试加载的图像在渲染时旋转了 90 度。我正在使用“加载时垂直翻转图像”,但是当纹理被渲染时,图像被旋转了 90 度。
我试图更改索引和 tex 坐标,但没有用。
纹理应显示为图像,而不是旋转 90 度。图片:https ://opengameart.org/sites/default/files/oga-textures/brick_base.png
c++ - 如果现代opengl中有多个纹理,则没有纹理
我正在使用带有 SDL2 和 glew 的 C++ 和 OpenGL 4.6。我有一个类纹理:
如果我创建一个纹理,则纹理显示:
但是,如果我创建两个纹理,我只会得到黑屏:
这应该有效。我在互联网上搜索了 2 个小时,但我似乎找不到为什么这不起作用的原因。你们能帮帮我吗?
c++ - 如何修复“图像(由 stb_image 加载)占用过多内存”
我目前正在学习cg,我必须加载一些纹理。我尝试使用 stb_images 并且效果很好,但是当我在内存中加载图像时,它占用了太多空间。
我使用的是一个小的 jpg(512*512, 154kb),但是如果我加载它 10 次,它将占用大约 12 MB 的内存。(我使用 Visual Studio 诊断工具检查进程内存)
我怎样才能消除这种浪费的内存使用量。
c++ - 如何使用 stb_image 将像素颜色数据写入 bmp 图像文件?
我已经打开了 bmp 文件(一个通道灰度)并将每个像素颜色作为十六进制存储在一个新行中。在对数据进行一些处理之后(不是这个问题的重点),我需要从我的数据中导出一个 bmp 图像。如何加载文本文件(数据)并使用stb_image_write
?
像素到图像:
图像到像素:
c++ - stb 图像写入问题
我正在尝试使用 stb_image_write 将一个简单的图像文件写入磁盘。我使用最简单的测试用例:128 x 128 像素的 RGB 图像。
我在网上找到了这个例子,那个家伙似乎说它工作得很好,而且它看起来和我写了 2 个小时的完全一样:
结果应该是一个漂亮的颜色渐变,但我能得到的只是一个带有一些垂直红、绿、蓝和黑线的有效文件。图像的尺寸还可以。我真的在这里找不到解决方案。我在 linux Jessie 上。可能存在“字节顺序”问题或类似的问题吗?
c++ - stbi_load 文件名到 const char*
我正在尝试加载一些具有stbi_load
以下功能的图像:
问题是我有这样的文件名:
但是函数需要第一个参数是const char*
。我尝试投射,但它没有加载图像。我正在使用 Visual Studio 2017。