【问题标题】:Detecting .png alpha channel in Windows/D3D在 Windows/D3D 中检测 .png alpha 通道
【发布时间】:2011-02-01 20:39:37
【问题描述】:

我正在使用 D3DXCreateTextureFromFile() 从 .png 加载纹理。我的程序如何知道图像文件是否包含 alpha 通道?

【问题讨论】:

    标签: windows png direct3d alpha


    【解决方案1】:

    通过简单地检查文件来做到这一点并不难。

    一个PNG文件包括:

    • 一个文件头
    • 一个或多个“块”

    文件头总是8字节,应该跳过。

    每个块以 4 个字节表示其长度,4 个字节表示其类型。第一个块应始终为 13 个字节,类型为 IHDR。这包含有关图像的信息。

    标题中的第十个字节包含您要查找的确切信息。如果 PNG 文件是 RGBA,它将等于 6

    更多信息可以在here找到。

    【讨论】:

      【解决方案2】:

      致电IDirect3DTexture9::GetSurfaceLevel,然后致电IDirect3DSurface9::GetDescD3DSURFACE_DESC.Format 会员会告诉你。

      【讨论】:

        猜你喜欢
        • 2016-02-04
        • 2011-10-29
        • 2011-06-06
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-07
        • 2020-03-21
        相关资源
        最近更新 更多