精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓..图形图像处理..〓〓>>Re: 关于半透明窗口?

主题:Re: 关于半透明窗口?
发信人: wenbobo()
整理人: cobe(2001-07-26 13:41:01), 站内信件
【 在 icefly (神气猪) 的大作中提到: 】
: 很想在vc++5中实现象《金山词霸》那样的半透明窗口,但不知如何入手,
: 望有识之士指点一二?

在show本窗口之前,GetWindowDC(NULL)...总之取得窗口所在位置的图形,
然后显示本窗口,画的时候,进行alpha blending,就是:
R_new = ( R_background * a + R_image * (255-a) ) /255;
G_new = ( G_background * a + G_image * (255-a) ) /255;
B_new...........
反正就是,一个点的新的RGB值,是由取得的背景,和要画的前景的RGB混合而成,

那个a,决定了透明的程度,越大越透明……(废话,a=255时不就完全透明了!)
算法可以优化,以提高速度.

--
高高山上一株槐
香飘十里伴云彩
凭君翘足树下望
所思伊人来未来

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.160.187]

[关闭][返回]