织梦CMS - 轻松建站从此开始!

罗索

WINCE如何调节位图透明度并显示

落鹤生 发布于 2009-12-27 13:44 点击:次 
在WINCE中,经常要用到透明的位图,而且不同的地方透明度也不一样,这就需要调节透明度了,我在最近几天才发现这个方法。拿出来共享,而且很适合做图片的透明渐进。
TAG:

在WINCE中,经常要用到透明的位图,而且不同的地方透明度也不一样,这就需要调节透明度了,我在最近几天才发现这个方法。拿出来共享,而且很适合做图片的透明渐进。

//******************************************************************
//图片从透明到不透明渐进显示
//******************************************************************
void Ddraw_AlphaBlend(HWND hWnd,DWORD PicID)
{
 BLENDFUNCTION blendfuction;
 RECT rect = {0,0,480,272};
 BYTE CurrentAlpha = 150;
  
 blendfuction.BlendOp = AC_SRC_OVER;
 blendfuction.BlendFlags = 0;
 blendfuction.AlphaFormat = 0;

 HDC hdcDest,hdcSrc;
 HBITMAP hBmp;
 hdcDest = GetDC(hWnd);
 hdcSrc = CreateCompatibleDC(hdcDest);
 hBmp = LoadBitmap(hInst,MAKEINTRESOURCE(PicID));
 HGDIOBJ hOldSel = SelectObject(hdcSrc,hBmp);
 BITMAP bmp;
 GetObject(hBmp,sizeof(BITMAP),&bmp);
 blendfuction.SourceConstantAlpha = CurrentAlpha;    //当前透明度 0~255
 if(!AlphaBlend(hdcDest,129,188,bmp.bmWidth, bmp.bmHeight,hdcSrc,0,0,bmp.bmWidth,bmp.bmHeight,blendfuction))
  {
    MessageBox(hWnd,TEXT("Error"),TEXT("err"),MB_OK);
  }
    SelectObject(hdcSrc,hOldSel);
 DeleteObject(hdcSrc);
 DeleteDC(hdcDest);
}


如果在做一个图片从全透明到全不透明的一个渐进教程,只需要做个循环改变CurrentAlpha的值,即可。

注意,此方法需要OS的支持,要在OS中添加一个硬件加速的组件和DIRECTDRAW.
 

特殊界面对BSP的修改及应用程序相关设置

1.需要使用到透明混合处理API(Alphablend)时,需要添加Alphablend API(属于GDI)。路径如下:
CORE OS/graphics and Multimedia technologies/graphics/Alphablend API(GDI V)

2.需要使用DirectDraw编程时所需要添加的组件:DirectDraw,路径如下:
CORE OS/graphics and Multimedia technologies/graphics/ DirectDraw

3.使用DirectDraw编写应用程序时,在应用程序中需要添加如下相应的静态库和相关头文件.

ddraw.lib <ddraw.h>

4.需要使用到stream或buffer来直接解码图片文件,比如GIF,PNG等格式的图片,需要添加以下静态库和头文件,具体解码过程在另一文档有详细介绍。
Imaging.lib
commctrl.lib
coredll.lib
#include "initguid.h"
#include "imaging.h"
#pragma comment (lib,"Ole32.lib")

 

(落鹤生)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/200912/8190.html]
本文出处:网络博客 作者:落鹤生
顶一下
(1)
25%
踩一下
(3)
75%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容