高仿QQ2012登录界面
来源:互联网 发布:java开源系统源码 编辑:程序博客网 时间:2024/05/19 06:16
高仿QQ2012登录界面, 用的是MFC写的Direct UI 方式,支持换肤,先看效果图
QQ透明皮肤:多层算法,一键适配各种背景
代码和这个的方法有点像,分为背景层,质感层,内容层
背景层:最下面的是背景层,QQ的界面当要做为皮肤的图片小于界面时其他的地方就会用图片的平均颜色来填充,在图片和平均颜色的地方还有个过滤的效果
过度效果如下图
取得平均颜色的代码如下
// 取得图片平均颜色bool GetAverageColor(CDC *pDC, CBitmap &bitmap, const CSize &sizeImage, COLORREF &clrImage){bool bIsResult = false;CDC TempDC;TempDC.CreateCompatibleDC(pDC);CBitmap *pOldBitmap = TempDC.SelectObject(&bitmap);int nWidth = sizeImage.cx;int nHeight = sizeImage.cy;// 定义位图信息 BITMAPINFO bi; bi.bmiHeader.biSize = sizeof(bi.bmiHeader); bi.bmiHeader.biWidth = nWidth; bi.bmiHeader.biHeight = nHeight; bi.bmiHeader.biPlanes = 1; bi.bmiHeader.biBitCount = 32; bi.bmiHeader.biCompression = BI_RGB; bi.bmiHeader.biSizeImage = nWidth * nHeight * 4; // 32 bit bi.bmiHeader.biClrUsed = 0; bi.bmiHeader.biClrImportant = 0; // 获取位图数据 BYTE* pBits = (BYTE*)new BYTE[bi.bmiHeader.biSizeImage]; ::ZeroMemory(pBits, bi.bmiHeader.biSizeImage); int nLine = ::GetDIBits(TempDC.m_hDC, (HBITMAP)bitmap.GetSafeHandle(), 0, nHeight, pBits, &bi, DIB_RGB_COLORS);if (!nLine) { delete []pBits; pBits = NULL; } else{long r = 0, g = 0, b = 0;for (LONG i = 0; i < nWidth; i++) { for (LONG j = 0; j < nHeight; j++) { b += pBits[(j * nWidth + i) * 4];g += pBits[(j * nWidth + i) * 4 + 1];r += pBits[(j * nWidth + i) * 4 + 2];} } delete []pBits; pBits = NULL; int n = nWidth * nHeight;clrImage = RGB(r / n, g / n, b / n);bIsResult = true;}TempDC.SelectObject(pOldBitmap);TempDC.DeleteDC();return bIsResult;}
质感层:质感层可以只是一个带透明度的矩形(一般为白色吧),可以是整个矩形透明度一样,也可以从上到下减少如下图
左边的效果是如四个区域组成,右边的是四个区域分开的效果
内容层: 内容层也就是控件层了没什么好说的,少个质感层的话会是这种效果
其他方面也就没什么了,详情请看代码
如果发现在BUG什么的或有别的实现方法可以联系我QQ:278162354
附源代码下载地址
- 高仿QQ2012登录界面
- 仿QQ2012登录界面
- 高仿QQ2012界面
- 高仿Android QQ2012登陆界面和注册界面
- 高仿QQ2012界面-支持Aero特效和界面动画
- 高仿Android QQ2012登陆界面和注册界面
- 高仿Android QQ2012登陆界面和注册界面
- 高仿Android QQ2012登陆界面和注册界面 hierarchyviewer
- 高仿Android QQ2012登陆界面和注册界面
- 高仿Android QQ2012登陆界面和注册界面
- 高仿Android QQ2012登陆界面和注册界面
- 高仿QQ(登录界面)
- React-Native 高仿“掘金”App 注册和登录界面
- 仿qq登录界面
- 仿拉钩登录界面
- 高仿淘宝界面
- 高仿QQUI界面
- android仿QQ登录界面
- 断章——卞之琳
- 银行IT部门科技管理流程管控工作发展之路
- Codeforces Round #134 (Div. 2)——B
- hibernate 乐观锁与悲观锁使用
- css定位详解
- 高仿QQ2012登录界面
- Flex调试工具的安装(Flash 调试 IE Firefox )
- 那些高中时曾经背得烂熟的古文(滕王阁序,阿房宫赋, 兰亭集序 , 师说,蜀道难 ...)再一次读读吧,慢慢的读,突然很想哭...有些岁月果真不曾忘怀
- 为无LIB的DLL制作LIB函数符号输入库
- thoughtworks面试流程
- range和xrange
- LINUX下的COM实现----XPCOM
- css定位
- 中国34个省未来发展趋势深度分析 很精彩