当前位置: 代码迷 >> WinCE >> 在wince 下如何能读取 一个像素 alpha 通道的值
  详细解决方案

在wince 下如何能读取 一个像素 alpha 通道的值

热度:364   发布时间:2016-04-28 13:25:54.0
在wince 下怎么能读取 一个像素 alpha 通道的值
我想把一个带   透明通道的bitmap作为前景贴到一个不带透明通道的背景bitmap上,试了几种方法   都不理想,包括
TransparentBlt(...),alphablend(...),还使用过maskdc   的方法,都不理想。
前两种方法把我的小的前景,拉伸到跟背景一样大;而且TransparentBlt(...),也不是真正的用alpha的值去画,
用maskdc,虽然不拉伸了但是,对于边缘是有渐进色的图,不能很好处理,
现在想来想去   想   直接得到pixel的alpha的值,通过计算来得到,但是发现   在wince下,似乎不是很容易就能得到alpha的值,看了一些资料,在pc上可以通过GDI+来得到,好像wince不支持gdi+,不知道版主和大侠们能不能给些提示什么的,我的带透明通道的bitmap是用Iconworkshop做出来的

------解决方案--------------------
你可以在PC上生成带Alpha通道的图片,32位,在CE上你通过创建两个CreateDIBSection,一个原图,一个与目标DC对应,取出原图图像象素,根据里边每个象素的alpha通道值决定是否把该象素赋到目标DC对应的DIBSection里,最终就可以实现无锯齿透明。
  相关解决方案