问题标签 [sdl-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.

0 投票
0 回答
96 浏览

c++ - CodeBlocks C++ SDL2,PNG 图像无法在 IDE 之外显示

在我的项目中,我有一个Animator类,它有一个加载所有精灵的方法。

因此,如果我在 IDE 中运行它,它会正确加载所有精灵而不会出现任何错误。我刚刚检查了所有调试指针,所有这些都正常,每个图像都按照我所说的正确显示,但仅在 IDE 中。如果我构建它并尝试在 IDE 之外运行可执行文件(在发布或调试文件夹中),则根本不会显示图像。

还有一件事。字体在 IDE 之外正确加载,但 Sprites 没有。

0 投票
1 回答
576 浏览

c++ - 在 SDL2 和 C++ 中编码图像并改变颜色

有没有一种方法或功能:加载纹理时,它被编码为应用颜色变化?

在此处输入图像描述

Sprite 在 NES 中的工作原理

0 投票
1 回答
4536 浏览

c++ - 使用 glTexImage2D 时出现“框架不在模块中”

我以前从来没有遇到过这个错误,我glTexImage2D在项目的其他地方使用没有错误。下面是 Visual Studio 显示的错误截图,以及反汇编视图: 框架不在模块中 反汇编代码

鉴于该行包含ptr在其中,我假设存在指针错误,但我不知道我做错了什么。下面是我用来从SDL_surface一个纹理转换为纹理的函数。

此函数在程序的其他地方成功,例如在加载文本时:

但不是在加载图像时:

这两个示例都是从texture定义的类中提取的。图像的路径是正确的。我知道这glTexImage2D是导致问题的原因,因为我在开始时添加了一个断点surfaceToTexture并逐步执行该函数。即使它不起作用,texture并且surface确实具有看似正确的值/属性。

有任何想法吗?

0 投票
1 回答
1280 浏览

opengl - OpenGL 和 SDL_Image 纹理问题

我正在使用 glew 1.1.0、SDL_image 2.0 和 mingw(Code::Blocks, Windows)。我正在尝试使用 SDL_Image 导入一个 .png 文件,并使其成为纹理并显示到我使用 OpenGL 的屏幕上。当我运行程序时,它显示一个纯白色的正方形,它与我试图导入的图像具有相同的宽度和高度,但它是纯白色的。我连续查看了大约 30 分钟的代码,代码看起来很好,它从来没有给我任何错误,除了“初始化 OpenGL 时出错!无效值”。

我的 main.cpp:

这是我要加载的图像:

程序和错误,如您所见,白框是图像应该在的位置。

0 投票
1 回答
436 浏览

textures - 在 Vulkan 中将 SDL_image 用于纹理时出现意外行为

我设法加载 jpg 图像并将它们用作 vulkan 中的纹理,但是不同的图像会产生不同的结果,有些图像效果很好,而另一些图像则不能很好地映射。

这是与图像加载和格式转换相关的代码块:-

我所做的唯一修改是翻转纹理的 V 分量以修复镜像图像

图像结果: 加载这张图片没问题

这个映射不好 在此处输入图像描述

虽然它应该显示这样的东西 在此处输入图像描述

0 投票
1 回答
430 浏览

c - 使用 Emscripten 编译 Nim 和 SDL2 图像时的类型冲突

我尝试编译一个将 SDL2 Image 与 Emscripten 结合使用的 Nim 项目,但我遇到了几个冲突类型的错误。我可以在这个小代码片段中重现这个问题:

索引.nim

尼姆.cfg

当我编译这个代码片段时,我得到一个错误:冲突类型

我是否配置错误?我该如何解决?

编辑:define = SDL_Static如果我从nim.cfg中删除,我不会收到此错误,但如果我这样做,我无法静态链接到 SDL。


Nim 编译器版本 0.16.1 (2017-05-07) [Linux: amd64] (devel 分支的最新版本)

emcc(Emscripten gcc/clang-like 替换)1.37.9(提交 b5bee629cb54864e7e231ae55a7d0ae9bdc25c6c)

0 投票
0 回答
457 浏览

cmake - Cmake - freetype, sdl, sdl-image

我有以下 cmake 文件:

我像这样运行它:cmake .然后make.

我第一次收到以下错误:

所以我执行以下操作:chmod -R 777 /home/xubuntu/git/testCmake/libs/SDL2然后make再次,但随后出现以下错误:

我已经尝试了几个小时,但我无法使用 cmake 安装 sdl、sdl-image。

谢谢。

0 投票
1 回答
1786 浏览

c++ - 如何使用 SDL 将纹理加载到使用 emscripten 的 WebAssembly 项目?

我正在尝试使用 SDL 将纹理加载到我的应用程序中。当构建为本机应用程序时,它可以正常工作。但是当我使用 Emscripten 构建它时,无法加载纹理。

纹理图像的宽度为64像素,我可以通过打印出wSDL_Surface 实例的成员来验证。但是当我尝试在 WebAssembly 应用程序中打印出相同的成员时,它会产生5076 ...

装满 emscripten 时,图像是否会以某种方式“破碎”?

这是加载纹理的代码:

这是使用 Emscripten 构建 Web 应用程序的命令

我在启动 Web 应用程序时收到浏览器的错误消息是

webapp.js:9533 WebGL:INVALID_VALUE:texImage2D:宽度或高度超出范围

这是有道理的,因为图像的分辨率是如此疯狂......

0 投票
0 回答
70 浏览

c - SDL:视口未正确显示

我正在尝试在游戏上设置暂停功能,当我按下 esc 游戏冻结但菜单图像不显示时,视口渲染有什么问题?

你可以在这里找到代码:

对于显示暂停菜单很重要的行是:

55、69、141

0 投票
1 回答
1040 浏览

c++ - SDL_Texture 使一切都呈现黑色

我在 SDL 中开发了一个相当大的应用程序有一段时间了,最​​近发现了一个奇怪的错误;每当关闭一个窗口时,另一个窗口上的所有内容都将完全呈现黑色。当我画一条红色的线时,它会是黑色的,当我画一个 SDL_Texture 时,它​​会画一个黑色的矩形来代替图像。

过了一段时间,我设法通过从头开始制作应用程序的简化版本来重现问题。该程序包括一个存储窗口、其渲染器和 SDL_Texture 的窗口类。窗口类还包括一个渲染函数,用于将内容渲染到其窗口,包括 SDL_Texture。还有一个函数允许每个窗口对象处理 SDL 事件,例如窗口被关闭。当窗口关闭时,窗口、渲染器和纹理都被销毁。

main 函数一次管理多个窗口,并分别为每个窗口提供 SDL 事件:

现在我已经展示了我的代码,我将更详细地解释这个问题。程序启动时,会创建四个窗口对象,每个窗口都显示在屏幕上。每个窗口都正确渲染,一个 PNG 图像覆盖在一个红色矩形的顶部。第四个窗口,或最后一个要初始化的窗口,只会在任何其他窗口关闭后以黑色渲染图像、矩形和线条等内容。唯一会以不同颜色渲染的是SDL_RenderClear,我在上面的代码中使用它来渲染绿色背景,它暴露了黑色图像和矩形形状。

我已经测试确保纹理、渲染器和窗口在出现此问题后仍然有效,并且没有错误。

我至少想找出导致问题的原因以及是否有任何可能的解决方案。