日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

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

發布時間:2024/1/1 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT之灰色头像(类似QQ离线头像) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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离线头像)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。