GLUT 创建二进制/RAW 图像文件

发布于 2024-10-27 23:57:48 字数 249 浏览 1 评论 0原文

我对创建二进制/原始图像文件有疑问。

我已经在 Photoshop 中制作了图像,现在我想将其加载到 C 程序中。 我遵循了本教程 http://www.nullterminator.net/gltexture.html 但我不'不知道如何将我自己的图像转换为 .RAW 文件。

谁能帮我解答这个问题吗?

I have question about creating a binary / raw image file.

I've made an image in photoshop and now I want to load that in a C program.
I followed this tutorial http://www.nullterminator.net/gltexture.html but I don't know how to convert my own image to a .RAW file.

Can anyone help me out with this question?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

述情 2024-11-03 23:57:48

下载ImageMagick,它是一个命令行实用程序,可以将图像转换为各种方式。而且它支持很多平台。
因此,您可以将 Photoshop 中的文件保存为 PNG 文件,然后运行以下命令将其转换为原始灰度 8 位:

convert MyImage.png -depth 8 gray:MyRawImage.raw

Download ImageMagick, it is a command-line utility that can convert images into all kind of ways. And it supports many platforms.
So you could save your file in Photoshop to for example a PNG file, then run the following command to convert it to raw grayscale 8 bit:

convert MyImage.png -depth 8 gray:MyRawImage.raw
伤感在游骋 2024-11-03 23:57:48

尝试另存为并从格式下拉列表中选择RAW。有趣的是,它列在 Photoshop RAW 的“P”下。

我不知道这是否是 GLUT 所需要的正确类型的 RAW...

Try Save As and selecting RAW from the format drop-down. Humorously, it is listed under "P" for Photoshop RAW.

I don't know if it is the right kind of RAW which GLUT requires...

颜漓半夏 2024-11-03 23:57:48

这对我有用,使用教程代码:

  1. 在 GIMP 中打开图像
  2. 转到图层/透明度/删除 Alpha 通道。如果它已经被删除,该选项将显示为灰色,这很好。如果你有
    多层,对所有层都执行此操作。 (您必须删除 Alpha 通道,否则 GIMP 将写入 RGBA 而不是 RGB,并且您只会看到重复的格子图案而不是图像。)
  3. 文件/另存为...并在保存弹出窗口的最底部,有一个带有(+)的选项“选择文件类型(按扩展名)”。展开它。
  4. 选择原始图像数据
  5. 在保存弹出窗口的顶部,手动为文件指定 .raw 扩展名并保存。单击“确定”接受默认选项。

然后您应该能够保存它,将其移动到程序的目录,并使用该教程中的代码将其读入。

另外,为了避免另一个令人头疼的来源,我建议在找不到文件时添加一条错误消息,例如将行替换

if ( file == NULL ) return 0;

if ( file == NULL ){
    printf("texture file not found.");
    return 0;
}

This worked for me, with that tutorial code:

  1. Open your image in GIMP
  2. Go to Layer/Transparency/Remove Alpha Channel. If it's already removed the option will be greyed out, which is fine. If you have
    multiple layers, do this for all of them. (You MUST remove the alpha channel or else GIMP will write RGBA instead of RGB, and you'll just see a repeating lattice pattern instead of your image.)
  3. File/Save As... and at the very bottom of the save popup, there's an option "Select File Type (By Extension)" with a (+). Expand it.
  4. Select Raw image data
  5. At the top of the save popup, manually give your file a .raw extension and save. Click OK to accept the default options.

Then you should be able to save it, move it to your program's directory, and read it in with the code from that tutorial.

Also, to save yourself another headache source, I suggest adding an error message if the file isn't found, like replace the line

if ( file == NULL ) return 0;

with

if ( file == NULL ){
    printf("texture file not found.");
    return 0;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文