高仿QQ2012登录界面
高仿QQ2012登录界面, 用的是MFC写的Direct UI 方式,支持换肤,先看效果图
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登录界面相关推荐
- WordPress 高仿 36KR 登录界面
2019独角兽企业重金招聘Python工程师标准>>> 加入Wordpress家庭,折腾的脚步就不能停歇,今天有时间研究一下Wordpress登录界面.或许你和我一样,已经厌倦了平平 ...
- 详解使用NetBeans IDE 8.2进行可视化图形界面设计——高仿QQ登录界面
目录 前言 QQ登录界面的设计与实现 1.新建一个Java项目 2.在任意包下新建一个JFrame窗体类 3.添加图片 4.设置账号文本框(JTextField)与密码框(JPasswordField ...
- java仿qq登录 界面设计,Java Swing仿QQ登录界面效果
本文实例为大家分享了Java Swing仿QQ登录界面展示的具体代码,供大家参考,具体内容如下 闲来无事将早些时候已实现的QQ登录界面再实现了一遍,纯手工打造(意思是没有用NetBeans.MyEcl ...
- java如何引入qq登陆,Java Swing仿QQ登录界面 学习之用
闲来无事将早些时候已实现的QQ登录界面再实现了一遍,纯手工打造(意思是没有用NetBeans.MyEclipse的拖动功能). 源代码如下: package ibees.qq; import java ...
- 高仿微信聊天界面长按弹框样式
效果图 背景 在公司做的项目里面,刚好有需要用到微信聊天界面长按弹框样式这种UI的. 网上找了一下,没找到. Android现成的 ListPopupWindow又不能满足需求. 因此在非上班时间撸一 ...
- android仿微信聊天功能,Android高仿微信聊天界面代码分享
微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...
- java gui界面设计qq_Java swing界面开发(仿QQ登录界面)
首先引入包的概念,包:给代码分类,提高的了代码的可读性,封装后方便管理.在包中类的引入:import 包名.类名;包名需小写,多单词用"."隔开.类名的命名规范:首字母大写其后的每 ...
- php写的微信聊天界面,Android_Android高仿微信聊天界面代码分享,微信聊天现在非常火,是因其 - phpStudy...
Android高仿微信聊天界面代码分享 微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先 ...
- android 微信高仿,Android高仿微信聊天界面代码分享
微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们 ...
最新文章
- 2.5.3 工作日处理函数(自定义节假日).sql
- PHP curl 模拟登录
- cs231n笔记:线性分类器
- 【OpenCV】OpenCV访问像素点的三种方式
- AS3连接MYSQL数据库
- linux locate 快速查找命令介绍
- 今天写出一个十分弱智的bug!
- 虚拟机同步器用易语言怎么写_安装虚拟机的好处或用处是什么/如有效地防止病毒...
- matlab程序中中零内插在qdpsk调制中的作用,桂林电子科技大学通信原理思考题
- java/php/net/python房产信息管理系统设计
- matlab 拉普拉斯金字塔,图像拉普拉斯金字塔(laplacian pyramid)并从金字塔重建原图 matlab程序实现...
- 笔记——数据归一化 scikit-learn中的Scaler
- 深度学习中的batch、epoch、iteration
- ctfshow 网络迷踪-给你拷上
- Android 图片波浪动画,Android水纹波浪动画
- starGAN v2 论文阅读
- 投资入门第 3 步:技术分析法(常用技术分析)
- flutter 微信聊天输入框
- linux+nas+私有云软件,自建家庭私有云NAS——磁盘管理系统
- 强!Java实现MSN Messenger聊天