proof 发表于 2024-10-26 16:31:14

求助:DX 9.0 透明背景效果

DX 9.0 需实现多层位图背景

用“表面”类型,可以显示位图。无法实现透明效果。
LPDIRECT3DSURFACE9   image = NULL
D3DXLoadSurfaceFromFile( image , …… )
d3ddev->StretchRect()

想改用“纹理”类型(支持透明),介绍的都是“纹理+精灵”方式。
LPDIRECT3DTEXTURE9image = NULL
D3DXCreateTextureFromFileEx( ...pic.jpg...&image )
LPD3DXSPRITEbackground = NULL
D3DXCreateSprite(d3ddev, &background)
background->Draw(image , ...   D3DCOLOR_XRGB(0, 0, 0)

代码过于冗长。
有没有不用精灵,单用纹理的绘图方式?就像表面类型那样,用纹理直接绘图。

JuncoJet 发表于 2024-10-26 18:33:12

写游戏啊,没用过DX,根据SDL和OpenGL经验一般应该有混合效果设置
只想透明 GDI GDIPLUS,放弃DX会更简单点
页: [1]
查看完整版本: 求助:DX 9.0 透明背景效果