还是关于图像问题。。

simchina   2008-5-6 20:31 楼主
在WinCe里有没有快速的方法可以实现
把一个图透明的贴在另一图上,且帖上去的图是有玻璃效果的,就是透明度吧。。。这样可以模糊的看到背景

不知道有什么好用且快速的方法呢。

回复评论 (15)

这里有两个透明要说明的,第一个透明指的是像PC机上的图片,可用图片处理工具把背景置成透明,即当图片帖在有背景的地方指定的透明部分是不显示的。。
第二个透明是指整张图片的透明度,透明度高可以看到背景的。。  
点赞  2008-5-7 09:04
用AlphaBlend 吧,把图片做成带通道的
点赞  2008-5-7 10:20
谢谢回答

我的问题是直接用AlphaBlend的话可以实现透明度,就是我把该图贴过去有背景的都没问题
但AlphaBlend 不支持背景透明。。
点赞  2008-5-7 10:26
背景图片也可以作成通道,你想实现什么样的效果?
点赞  2008-5-7 10:50
我想要的是把一张图透明的贴在一个有背景的图上。且帖在图上的效果还是半透明的。

你说的通道我还没了解过是怎么一回事,可以说点吗。
点赞  2008-5-7 15:56
你说的通道是AlphaBlend 吗。。通过Alpha通道。。

只是我把通道值设成了255好像也没用  WinCe支持通道的吗,还是说我打少了哪个模块呢?
点赞  2008-5-7 16:04
编译内核时,要把 AlphaBlend  API打勾


函数功能:该函数用来显示透明或半透明像素的位图。

函数原型:AlphaBlend(HDC hdcDest,int nXOriginDest,int nYOriginDest,int nWidthDest,int hHeightDest,HDC hdcSrc,int nXOriginSrc,int nYOriginSrc,int nWidthSrc,int nHeightSrc,BLENDFUNCTION blendFunction);





点赞  2008-5-7 16:49
先谢谢了,可能是我没把问题说清楚吧
其实我是想要 AlphaBlend 和 TransparentImage的混合效果,但是不知道如何能做到呢,TransparentImage让图片透明[就是指定一种色不显示,像PC机上的Alpha设为Transparent的效果],而AlphaBlend可以让图片有透明度,可以看到背景。

点赞  2008-5-7 17:17
lz ,还是不太明白
如果想在背景图片上贴张透明的图片你可以做如下操作:
背景图片直接用BitBlt画到内存dc上
第二张图片用AlphaBlend 选进该dc中, 这里要设置透明的属性
        BLENDFUNCTION bf;
        bf.BlendOp = AC_SRC_OVER;

        bf.BlendFlags = 0;

        bf.SourceConstantAlpha = 255; 设置这个值看到不同的透明效果

        bf.AlphaFormat = 0;
点赞  2008-5-7 17:41

我打个比喻吧
图A为背景   图B为贴图 就如B是一个球,而背景色是紫色
我想的效果是:
B贴在A上,没有B的背景紫色,且B是半透明的贴在A上  A是保持不变的。就像个背景。

还有,我想问做图分背景和前景之分吗? 我现在还搞不懂,如果是这样的,那就好办了。

而我原来用的办法是:
先把B要在A上贴的那部分背景剪下来C,再把B用去背景色[即去掉B的紫色]的方法贴在C上  这时已是去了背景紫色了
再把这个C通过半透明的方法即AlphaBlend贴回A的原来部分,可这不是我要的效果,因为我想要的是A那个背景不透明,而现在C那半透明的贴回A已是使原来的背景也半透明了。

点赞  2008-5-7 20:27
按你如说,必须要分块处理,不能整张图来处理.
就按你的方法,进行分块处理就行了.
背景分两块.
点赞  2008-5-8 09:03
lz,干吗要把B图片加上紫色背景呢,如果是为了把球的形状圈出来,完全没必要用紫色背景
把你在图片中想要的图形圈起来做成通道即可
点赞  2008-5-8 10:10
lz,干吗要把B图片加上紫色背景呢,如果是为了把球的形状圈出来,完全没必要用紫色背景
把你在图片中想要的图形圈起来做成通道即可
点赞  2008-5-8 10:10
lz,干吗要把B图片加上紫色背景呢,如果是为了把球的形状圈出来,完全没必要用紫色背景
把你在图片中想要的图形圈起来做成通道即可
点赞  2008-5-8 10:11
呵呵,谢谢了。。。

点赞  2008-5-8 10:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复