Vb可否使用d3d渲染透明背景? 我想在前景中绘制图形
vb吧
全部回复
仅看楼主
level 11
ma5323890 楼主
我不管画线条还是写文字后面的背景始终都是黑色的?希望大佬帮帮我 d3d这个东西让人又爱又恨
2021年03月08日 09点03分 1
level 13
d3ddevice的Clear函数可以檫除背景(可以指定颜色,应该是第4个参数)
2021年03月08日 10点03分 2
Clear我试过了 还是没办法透明 其他颜色都可以 就透明的不行[泪]
2021年03月08日 10点03分
@隨風🍁缒夢 不是指那个透明 单纯的就是想背景透明而已
2021年03月08日 11点03分
@ma5323890 DirectX画线本就是透明的,我也不知道你Device中设置了什么
2021年03月08日 11点03分
@隨風🍁缒夢 我的线是在form上画的 但是渲染出来背景始终都是黑色的
2021年03月08日 11点03分
level 11
ma5323890 楼主
2021年03月08日 11点03分 3
还有一点,如果windowed=0,全屏后系统控件就不显示了,除非用拉伸窗口或改分辨率来模拟全屏(这样可以显示系统控件)
2021年03月08日 12点03分
level 11
ma5323890 楼主
我就是想要大佬这样的功能 能不能提供个简单点的源码呢?
2021年03月08日 12点03分 5
本吧有个贴子就是关于DirectX9的,你看下,我这个代码就是自己做传奇用的,很多API都是调用tlb的,大概也就我自己能看得懂(自己搞自己懂[呵呵])
2021年03月08日 12点03分
那个封装的有示例代码,反正我也是引用DirectX9的,原理都一样
2021年03月08日 12点03分
level 14
DX可以渲染透明背景,但是窗口本身又不是透明的。要玩透明窗口,不能用DX的Present,而是在EndSecen后,通过GetRenderTargetData,把DX渲染的画面回读到内存,写入32位的GDI位图,最后通过 UpdateLayeredWindow 来让窗口显示带Alpha通道的32位GDI位图。
2021年03月09日 04点03分 6
感谢大佬🙏
2021年03月09日 09点03分
1