还是关于图像问题。。

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

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

...全文
95 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chNeed1 2008-05-08
  • 打赏
  • 举报
回复
呵呵,谢谢了。。。

jingjing_123 2008-05-08
  • 打赏
  • 举报
回复
lz,干吗要把B图片加上紫色背景呢,如果是为了把球的形状圈出来,完全没必要用紫色背景
把你在图片中想要的图形圈起来做成通道即可
jingjing_123 2008-05-08
  • 打赏
  • 举报
回复
lz,干吗要把B图片加上紫色背景呢,如果是为了把球的形状圈出来,完全没必要用紫色背景
把你在图片中想要的图形圈起来做成通道即可
jingjing_123 2008-05-08
  • 打赏
  • 举报
回复
lz,干吗要把B图片加上紫色背景呢,如果是为了把球的形状圈出来,完全没必要用紫色背景
把你在图片中想要的图形圈起来做成通道即可
红牛哥110 2008-05-08
  • 打赏
  • 举报
回复
按你如说,必须要分块处理,不能整张图来处理.
就按你的方法,进行分块处理就行了.
背景分两块.
jingjing_123 2008-05-07
  • 打赏
  • 举报
回复
背景图片也可以作成通道,你想实现什么样的效果?
chNeed1 2008-05-07
  • 打赏
  • 举报
回复
谢谢回答

我的问题是直接用AlphaBlend的话可以实现透明度,就是我把该图贴过去有背景的都没问题
但AlphaBlend 不支持背景透明。。
jingjing_123 2008-05-07
  • 打赏
  • 举报
回复
用AlphaBlend 吧,把图片做成带通道的
chNeed1 2008-05-07
  • 打赏
  • 举报
回复
这里有两个透明要说明的,第一个透明指的是像PC机上的图片,可用图片处理工具把背景置成透明,即当图片帖在有背景的地方指定的透明部分是不显示的。。
第二个透明是指整张图片的透明度,透明度高可以看到背景的。。
chNeed1 2008-05-07
  • 打赏
  • 举报
回复

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

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

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

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

bf.BlendFlags = 0;

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

bf.AlphaFormat = 0;
chNeed1 2008-05-07
  • 打赏
  • 举报
回复
先谢谢了,可能是我没把问题说清楚吧
其实我是想要 AlphaBlend 和 TransparentImage的混合效果,但是不知道如何能做到呢,TransparentImage让图片透明[就是指定一种色不显示,像PC机上的Alpha设为Transparent的效果],而AlphaBlend可以让图片有透明度,可以看到背景。

jingjing_123 2008-05-07
  • 打赏
  • 举报
回复
编译内核时,要把 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);





chNeed1 2008-05-07
  • 打赏
  • 举报
回复
你说的通道是AlphaBlend 吗。。通过Alpha通道。。

只是我把通道值设成了255好像也没用 WinCe支持通道的吗,还是说我打少了哪个模块呢?
chNeed1 2008-05-07
  • 打赏
  • 举报
回复
我想要的是把一张图透明的贴在一个有背景的图上。且帖在图上的效果还是半透明的。

你说的通道我还没了解过是怎么一回事,可以说点吗。

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧