gpt4 book ai didi

visual-c++ - bmp 图像格式可以处理透明度吗

转载 作者:行者123 更新时间:2023-12-04 08:27:24 24 4
gpt4 key购买 nike

我正在制作这个具有按钮、按钮容器、聊天框等的 C++ 程序,我想用纹理包裹它。

我想为我制作的所有矩形生成一个平滑的边缘,我不希望顶点绘图方法为它做这项工作,因为它消耗更多的 CPU 使用率而且看起来不太好,我不知道它可以处理纹理坐标(即 glTexCoord(u, v) 和 glVertex2f(x, y) w/c 应该只有 4,因为它是一个四边形)

我使用 加载纹理SDL_LoadBMP() w/c 只能加载 .bmp 格式。(我不太确定,因为它说那里只有 LoadBMP)。

所以我的问题是:

  • .bmp 格式可以处理透明度吗?如果是这样,怎么做?
  • 你能告诉我一些使用 SOIL 的代码示例吗?加载格式.gif 或任何其他格式的图像,可以处理图像透明度?
  • 四边形可以在不绘制背景的情况下处理六边形或星形等不规则/多边形形状吗?

  • 补充问题

    *如何导入通过 c++ opengl 呈现的原始文本框,以便我可以将那里的文本复制到剪贴板?至于我程序中的聊天 session 。

    我制作了自己的库,它使用 GL_POINTS 绘制文本,并且在调整窗口大小时看起来不太好,因为这些点是展开的。需要 const char*为避免文字 #include <*string*>因为我希望我的程序不依赖于 C++ 的核心功能。

    所以更好的解决方案是使用位图绘制它。

    有人建议使用图像绘制它,所以我真的需要透明度的东西,因为我希望它只使用四边形绘制。

    最佳答案

    是的,位图格式确实支持透明度。

    取决于压缩方式,默认RGB方法支持 24 位颜色,但 BITFIELDS压缩支持 32 位颜色(24 位 + alpha channel )。

    您可以在 http://en.wikipedia.org/wiki/BMP_file_format 阅读更多信息

    我在 Lime 项目中成功使用了它,这是一个用 Haxe 编写的实现:https://github.com/openfl/lime/blob/4adb7d638d15612e2542ae3a0ef581a786d21183/src/lime/_internal/format/BMP.hx

    关于visual-c++ - bmp 图像格式可以处理透明度吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195289/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com