矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 821|回复: 1

求助:DX 9.0 透明背景效果

[复制链接]
     
发表于 2024-10-26 16:31:14 | 显示全部楼层 |阅读模式
DX 9.0 需实现多层位图背景

用“表面”类型,可以显示位图。无法实现透明效果。

LPDIRECT3DSURFACE9   image = NULL
D3DXLoadSurfaceFromFile( image , …… )
d3ddev->StretchRect()

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

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

     
发表于 2024-10-26 18:33:12 | 显示全部楼层
写游戏啊,没用过DX,根据SDL和OpenGL经验一般应该有混合效果设置
只想透明 GDI GDIPLUS,放弃DX会更简单点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-28 15:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表