int x = QCursor::pos().x();
int y = QCursor::pos().y();
QWindow window;
QPixmap pixmap=window.screen()->grabWindow(QApplication::desktop()->winId(),x,y,1,1);
qDebug()<<pixmap<<endl;
int red, green, blue;
if(!pixmap.isNull())
{
QImage image = pixmap.toImage();
if(!image.isNull())
{
QColor color = image.pixel(0,0);
red = color.red();
green = color.green();
blue = color.blue();
//输出16进制的颜色
//QString hRed = QString::number(red,16).toUpper();
//QString hGreen = QString::number(green,16).toUpper();
//QString hBlue = QString::number(blue,16).toUpper();
//采用这种方式可以设置转换后16进制的位数:不足位数用0补充;
QString hRed = QString("%1").arg(red,2,16,QLatin1Char('0')).toUpper();//value为int型或char型都可
QString hGreen = QString("%1").arg(green,2,16,QLatin1Char('0')).toUpper();
QString hBlue = QString("%1").arg(blue,2,16,QLatin1Char('0')).toUpper();
qDebug()<<red<<" "<<green<<" "<<blue<<endl;
qDebug()<<hRed+hGreen+hBlue<<endl;
}
}
Qt颜色提取
最新推荐文章于 2025-02-06 14:18:43 发布