QT之灰色头像(类似QQ离线头像)

  • QT之灰色头像类似QQ离线头像

    • 概要
    • 效果图
    • 上代码
    • 下代码
    • 结尾

概要

在讲正常图片转灰色图片之前,我们先来了解下灰度图。灰度图又称为灰阶图,任何颜色都由红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:
1.浮点算法:Gray=R*0.3+G*0.59+B*0.11
2.整数方法:Gray=(R*30+G*59+B*11)/100
3.移位方法:Gray =(R*76+G*151+B*28)>>8;
4.平均值法:Gray=(R+G+B)/3;
5.仅取绿色:Gray=G;


我们再来看QT提供的qGray():

对于算法不一样,即精确度不一样,得到的灰度图的效果也就不一样!浮点数运算得到的效果是最好的,取绿色得到的效果是最差的。在这里,我们使用QT提供的方法进行演示,感兴趣的可以尝试其它效果哦! O(∩_∩)O

效果图

好了,我们一起来看下代码是如何实现的。

上代码

HeadToGray::HeadToGray(QWidget *parent): QWidget(parent)
{ui.setupUi(this);initNormalhead();
}HeadToGray::~HeadToGray()
{}void HeadToGray::initNormalhead()
{QPixmap normalHead = QPixmap(NORMAL_HEAD).scaled(QSize(ui.normalHead->width(), ui.normalHead->height()), Qt::KeepAspectRatio, Qt::SmoothTransformation);ui.normalHead->setPixmap(normalHead);QPixmap grayHead = QPixmap::fromImage(normalHeadToGray().scaled(QSize(ui.grayHead->width(), ui.grayHead->height()), Qt::KeepAspectRatio, Qt::SmoothTransformation));ui.grayHead->setPixmap(grayHead);
}//正常图片转灰色图
QImage HeadToGray::normalHeadToGray()
{QImage normalHead(NORMAL_HEAD);for (int nRow = 0; nRow < normalHead.width(); nRow++){for (int nColumn = 0; nColumn < normalHead.height(); nColumn++){QRgb rgb = normalHead.pixel(nRow, nColumn);int pixNum = qGray(rgb);//使用QT提供的灰色算法normalHead.setPixel(nRow, nColumn, qRgba(pixNum, pixNum, pixNum, qAlpha(rgb)));}}return normalHead;
}

下代码

类似QQ离线头像Demo下载 , 免费的,放心吧,骚年! O(∩_∩)O

结尾

只为记录,只为分享! 愿所写能对你有所帮助。Good Good Study, Day Day Up!
如果你觉得所写的对你有帮助,默默点个赞哈,你的赞就是我最大的支持,嘿嘿~不要说我骗赞哦,(^__^)

QT之灰色头像(类似QQ离线头像)相关推荐

  1. android bitmap 饱和度 demo,实现类似QQ离线用户头像彩色变灰色的成效

    实现类似QQ离线用户头像彩色变灰色的效果 头像由彩色变灰色有两种实现方式: 方法1把图片彩色图转换为纯黑白二色: /** * 将彩色图转换为纯黑白二色 * * @param 位图 * @return ...

  2. iOS 中给view设置圆角头像(类似qq空间头像)

    view有一个属性layer,通过设置cornerRadius来设置圆角的半径,view是正方形的才能保证通过调整圆角半径来形成圆形头像 [view.layer setCornerRadius:CGR ...

  3. ios 给view设置圆角头像(类似qq空间头像)

    view有一个属性layer,通过设置cornerRadius来设置圆角的半径,view是正方形的才能保证通过调整圆角半径来形成圆形头像 [view.layer setCornerRadius:CGR ...

  4. qq第三方登录时头像为qq空间头像的问题

    qq第三方登录时头像为qq空间头像的问题: UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatfo ...

  5. QT 实现类似QQ的头像

    #include<QPainter> QPixmap getRoundImage(const QPixmap& src, QPixmap &mask, QSize mask ...

  6. Qt+html+JavaScript实现类似QQ聊天界面的气泡效果

    这是一个简单的类似QQ聊天界面的Demo,用Qt实现,在QWebView里嵌入网页的方式实现.先看效果图: 无论怎样,我觉得自己动手写出来的东西才是自己的,所以源码不全,重点的代码我会放上来.只是模拟 ...

  7. QT实现两界面类似QQ聊天

    题目要求: 在基于QT的界面基础上,两个窗口通过套接字实现网络通信,所用协议包括TCP和UDP协议,为了模拟不同的计算机,请大家建立两个虚拟机,一个虚拟机运行一个类似QQ的界面,两个界面实现类似QQ聊 ...

  8. 实现类似QQ离线用户头像彩色变灰色的效果

    头像由彩色变灰色有两种实现方式: 方法1把图片彩色图转换为纯黑白二色: /*** 将彩色图转换为纯黑白二色* * @param 位图* @return 返回转换好的位图*/private Bitmap ...

  9. Android 图片裁剪功能实现详解(类似QQ自定义头像裁剪)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/808837 ...

最新文章

  1. 图解 MySQL 索引:B-树、B+树
  2. mxGraph改变图形大小重置overlay位置
  3. Spring与Struts1的集成
  4. Struts2 随笔1
  5. ajax 入参为list_ajax向后台传入List
  6. 吴恩达Coursera机器学习 - Chapter 1 引言
  7. 大剑无锋之不都说面试不问mybatis,为什么我被虐了。。。【mybatis面试题】
  8. 2.3_ 1_ 进程同步、进程互斥
  9. 云原生之上,亚马逊云科技发布多项容器与Serverless服务,持续发力现代化应用
  10. python3 音乐播放器_Python3——MP3播放器
  11. python输出今天时间_Python获取并输出当前日期时间
  12. [BAT] 执行xcopy命令后出现Invalid num of parameters错误的解决办法
  13. 前端JAVASCRIPT模块化开发
  14. linux安装pdo mysql扩展_linux下php安装pdo_mysql扩展
  15. Qt中实现鼠标作图并且控制每一笔粗细和颜色的方法
  16. php 递归函数 示例,php 递归函数用法示例
  17. 微信小程序开发者文档 开放文档 地址
  18. 2022-2028年全球与中国口琴行业发展趋势及竞争策略研究
  19. ARM开发经典学习网站推荐 (转)
  20. 深度学习论文翻译解析(二十):YOLOv4: Optimal Speed and Accuracy of Object Detection

热门文章

  1. 吴恩达机器学习课程笔记——第一周
  2. docker入门实践,制作属于自己的mysql5.7镜像
  3. php怎么字符串转成json对象_php中json字符串转换为对象?
  4. python内置函数用来返回序列中的最小元素_1000道Python题库系列分享二(48道)
  5. sc在java中是什么意思_基础入门:如何在你的HTML中使用Javasc_html
  6. IT知识百科:什么是下一代防火墙和IPS?
  7. 电商时代的大数据——人人都爱吹牛皮【亿买网发布】
  8. win7变成xp风格了怎么改回_win7桌面怎么改成xp风格?win7桌面改成xp风格方法
  9. Mysql之mysqldump工具
  10. 导出的CSV文件中身份证、银行卡号15位以后数字为0的解决办法