范文无忧网范文学习范文大全

在GDI中如何的到PNG图片非透明部分的Region

01月08日 编辑 fanwen51.com

[激素脸流黄水如何洗脸激素脸初期症状图片]激素脸出现脱皮,严重情况下出现渗水结痂,一方面是因为局部长期外用激素,激素通过干扰表皮的分化,诱导皮肤结构和功能发生变化,角质形成细胞增殖受抑制。 导致透明角质层颗粒形成...+阅读

[ 原创文档 本文适合中级读者 已阅读19544次 ] 文档 代码 工具 在VC6.0中用GDI+调用png图片实现半透明渐变的特效窗口作者:邵凯锋下载源代码

一、概述 GDI+的应用使得平面图形图象编程变的更加容易,本文以一个基于对话框的时钟程序为例,在VC6.0中调用*.png图片实现半透明渐变窗口,该程序实现了指针式和数字式两种时钟显示方式。窗口实现了半透明渐变窗口、窗口拖动无移动矩形框、隐藏了任务栏窗体按钮等。效果图如下:图一 程序执行后与WindowXP桌面背景效果图

二、准备工作

1、图片资源准备工作。首先在Photoshop中编辑好时钟的背景、时针、分针以及数字时钟显示方式的所有图片,如下图:将这些图片保存成为带透明通道的.png格式(GDI+调用显示时能够透明调背景)。这样程序中图片资源就准备好了。

2、下面开始做好在VC6.0下展开此项工作的基本准备工作。

(1)、下载gdiplus forVC6.0的SDK,(总共两兆多)

(2)、在C盘建立文件夹“GDI+”将开发包拷贝在里面,亦即建立如下路径,以便例子代码顺利编译(当然你可以放到任意你喜欢的地方,只要在你的Project中正确包含路径即可!)。C:\GDI+\IncludesC:\GDI+\LibC:\GDI+\gdiplus.dll(3)在stdAfx.h中添加对GDI+环境的设置 #define UNICODE#ifndef ULONG_PTR#define ULONG_PTR unsigned long*#endif#include "c:\gdi+\includes\gdiplus.h" ////请修改为你的头文件路径using namespace Gdiplus; #pragma comment(lib, "c:\\gdi+\\lib\\gdiplus.lib") ////请修改为你的.lib文件路径

(4)在GDIPClock.cpp中编辑app的InitInstance()中添加如下代码进行GDI+的初始化工作 GdiplusStartupInput gdiplusStartupInput;ULONG_PTR gdiplusToken;GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);......//在对话框程序结束后//关闭gdiplus的环境GdiplusShutdown(gdiplusToken);

三、程序的实现全过程

1、建立一个基于对话框的Project,这里的名称为GDIPClock

2、在GDIPClockDlg.h中定义所有类成员变量,包括所有图片的指针和图片的长宽尺寸信息。 Image *m_pImageClock; Image *m_pImageClock1; Image *m_pImageHHour; Image *m_pImageHMinu; Image *m_pImageHSec; Image *m_pImageNum; int m_BakWidth , m_BakHeight ; int m_HourWidth, m_HourHeight; int m_MinuWidth , m_MinuHeight; int m_SecWidth , m_SecHeight ; HINSTANCE hFuncInst ; Typedef BOOL (WINAPI*MYFUNC)(HWND,HDC,POINT*,SIZE*,HDC,POINT*,COLORREF,BLENDFUNCTION*,DWORD); MYFUNC UpdateLayeredWindow; 在这一步中需要特别说明的是,在创建透明窗口式需要调用一个Windows API函数UpdateLayeredWindow(),该函数在.net以上的版本的SDK中有申明,但是在VC6.0下要调用要么下载200多兆的高版本SDK,要么从动态链接库“User32.dll”中调用,这里选择从“User32.dll”中调用。以上定义中后三项就是为此作准备的。

3、在对话框的OnCreate()中添加如下代码:对2的函数和成员变量进行初始化!(其中ImageFromIDResource()函数为从资源中载入Png图像的一个方法!)int CGDIPClockDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) == -1) return -1; hFuncInst = LoadLibrary("User32.DLL"); BOOL bRet=FALSE; if(hFuncInst) UpdateLayeredWindow=(MYFUNC)GetProcAddress(hFuncInst, "UpdateLayeredWindow"); else { AfxMessageBox("User32.dll ERROR!"); exit(0); } //初始化gdiplus的环境 // Initialize GDI+. m_Blend.BlendOp=0; //theonlyBlendOpdefinedinWindows2000 m_Blend.BlendFlags=0; //nothingelseisspecial... m_Blend.AlphaFormat=1; //... m_Blend.SourceConstantAlpha=255;//AC_SRC_ALPHA // png图片添加到资源中了在"PNG"下:所以这里可以从资源中调用, // 这里Image没有提供字节调用资源中图像的函数, // ImageFromIDResource()是通过资源名称"PNG"和资源ID号将图像 // 的Image指针传递给指针应用。来完成的。 ImageFromIDResource(IDR_PNGBAK1,"PNG",m_pImageClock1); ImageFromIDResource(IDR_PNGNUM,"PNG",m_pImageNum); ImageFromIDResource(IDR_PNGBAK,"PNG",m_pImageClock); ImageFromIDResource(IDR_PNGHOUR,"PNG",m_pImageHHour); ImageFromIDResource(IDR_PNGMIN,"PNG",m_pImageHMinu); ImageFromIDResource(IDR_PNGSEC,"PNG",m_pImageHSec); m_BakWidth =m_pImageClock->GetWidth(); m_BakHeight =m_pImageClock->GetHeight(); m_HourWidth =m_pImageHHour->GetWidth(); m_HourHeight=m_pImageHHour->GetHeight(); m_MinuWidth =m_pImageHMinu->GetWidth(); m_MinuHeight=m_pImageHMinu->GetHeight(); m_SecWidth =m_pImageHSec->GetWidth(); m_SecHeight =m_pImageHSec->GetHeight(); ::SetWindowPos(m_hWnd, HWND_TOPMOST,0,0,m_BakWidth,m_BakHeight,SWP_NOSIZE|SWP_NOMOVE); return 0;}4.在...

延伸阅读:

一张图片四句成语你能全部猜出来吗这张图片中的成语依次是: A.三寸之舌 B.吉祥如意 C.唇枪舌剑 D.如意算盘 看图猜成语,考的是一个人的知识储备和想象能力。 A图中左边是一个舌头,右边是一把尺子,舌头对准的是尺...

怎样才能制作三维动画图片三维动画制作流程 01. 概念设计——业内通用的专业动画流程前期制作,02. 内容包括根据剧本绘制的动画场景、角色、道具等的二维设计以及整体动画风格定位工作,03. 给后面三维...

有无温馨爱情的动漫图片要壁纸的!遥远时空中》 穿越时空+爱情 已完结 光荣公司著名逆后宫三部曲之一,这个和《不》几乎雷同,同样一群帅哥围着一个不太惹人喜爱的女主转,其中的暧昧情感纠缠不清 《金色琴弦》 校...

我想要比较浪漫温馨的图片真正的爱情,是在能爱的时候,懂得珍惜 真正的爱情,是在无法爱的时候,懂得放手 爱情是一种很奇妙的东西...在相爱的时候...要学会珍惜...珍惜这段属于你们开心快乐的时光...用你的...

520朋友圈图片520朋友圈图片,近年来大家都习惯于将520这个日子视为情人节或者是表白日,520寓意是我爱你,在这个日子将要来临之际,有情人的赶紧秀恩爱,没情人的赶紧表白。以下分享520朋友圈图片...

社会学研究里面的文章的格式是什么主要是各部分字体是什么社会学研究开设的主要栏目有“论文”、“专题研究”、“研究述评”等栏目。本刊热诚欢迎国内外学者投稿。1.本刊刊登社会学各分支学科的学术论文、调查报告和研究述评等;不刊...

三字经历史部分有哪些zì xī nóng zhì huáng dì hào sān huáng zài shàng shì 自羲农 至黄帝 号三皇 在上世 【解释】自伏羲氏、神农氏到黄帝,这三位上古时代的帝王都能勤政爱民、非常...

大学语文:文言文翻译部分译文即可!蒹葭苍苍,白露为霜。所谓伊人,在水一方。溯洄从之,道阻且长。 溯游从之,宛在水中央。蒹葭萋萋,白露未晞。所谓伊人,在水之湄。 溯洄从之,道阻且跻。溯游从之,宛在水中坻。蒹葭采采,白...

伤感的句子说说拼图心情图片有那么好的年纪一定要笑的更好看在我光鲜亮丽时的一千句我爱你 也抵不上在我落魄狼狈时的一句我还在我一直坚信一点;我还是会长高的.我越发的木然 面对不断的疏远和离开 连沉...

推荐阅读
图文推荐
栏目列表