从 GIMP 导出的 C 源文件加载图像
我正在尝试加载游戏的 openGL 纹理。纹理是已从 GIMP 导出为 .C 源文件
的图像。当我在项目中#include
此文件时(使用 Visual C++ 2010 Ultimate),出现编译器错误,显示致命错误 C1091:编译器限制:字符串长度超过 65535 字节
有任何解决方法吗?
我想将图像导出为 C 头文件 的原因是,程序可以与图像一起编译,并且我不必提供 原始
图像文件以及可执行文件。
代码:
#include <iostream>
#include <Windows.h>
#include <glfw.h>
#include "X.c"
#define X 1
#define O 2
#pragma comment(lib, "glfw.lib")
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "gdi32.lib")
using namespace std;
float render();
void stepGame(float);
void keyboard(int, int);
int main(int argv, int *argc[])
{
glfwInit();
glfwOpenWindow(480, 480, 16, 16, 16, 16, 16, 16, GLFW_WINDOW);
glfwSetKeyCallback(keyboard);
glfwSetWindowTitle("Tic Tac Toe!");
glClearColor(1.0, 1.0, 1.0, 1.0);
float dT;
while(glfwGetWindowParam(GLFW_OPENED) > 0)
{
glfwPollEvents();
dT = render();
stepGame(dT);
}
return 0;
}
图片文件: Xc
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个替代解决方案。将图像导出为原始数据文件,然后使用 bin2hex 将其转换为C/C++ 数组。这会很好地工作,因为该脚本生成的不是一个巨大的字符串,而是一个字符数组。这是一个例子:
Here is an alternative solution. Export the image as a raw data file, then use bin2hex to convert it to a C/C++ array. This will work fine because instead of a huge string this script generates a char array. Here is an example:
我做了一个更好的 github 存储库 上找到。希望有帮助。
I made a better gimp plug-in in python to export image data as C code. Feel free to use it or make it better for custom use. The scripts are available on a github repository. Hope that helps.