首页 > 其他 > 详细

Qt QPixmap 颜色摄取器

时间:2021-01-22 16:55:11      阅读:30      评论:0      收藏:0      [点我收藏+]

QPixmap常用方法:

QPixmap(const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor)

QBitmap mask() const

bool save(const QString & fileName, const char * format = 0, int quality = -1) const

bool save(QIODevice * device, const char * format = 0, int quality = -1) const

QPixmap scaled(const QSize & size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const

QPixmap scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const

void setMask(const QBitmap & mask)

QImage toImage() const

静态函数

QPixmap fromImage(const QImage & image, Qt::ImageConversionFlags flags = Qt::AutoColor)

QPixmap fromImage(QImage && image, Qt::ImageConversionFlags flags = Qt::AutoColor)

废弃函数

The following members of class QPixmap are obsolete. They are provided to keep old source code working. We strongly advise against using them in new code.

Public Functions

(obsolete) void fill(const QPaintDevice * device, const QPoint & p)
(obsolete) void fill(const QPaintDevice * device, int x, int y)
(obsolete) int serialNumber() const

Static Public Members

(obsolete) QPixmap grabWidget(QObject * widget, const QRect & rectangle)
(obsolete) QPixmap grabWidget(QObject * widget, int x = 0, int y = 0, int w = -1, int h = -1)
(obsolete) QPixmap grabWindow(WId window, int x = 0, int y = 0, int width = -1, int height = -1)

 1     //方法一:qt自带
 2     int x = QCursor::pos().x();
 3     int y = QCursor::pos().y();
 4     QString text = QString("pos: %1, %2\n").arg(x).arg(y);
 5 
 6     QPixmap pixmap = QPixmap::grabWindow(QApplication::desktop()->winId(), x, y, 1, 1);
 7     if (!pixmap.isNull())
 8     {
 9         QImage image = pixmap.toImage();
10         if (!image.isNull())
11         {
12             if (image.valid(0, 0))
13             {
14                 QColor color = image.pixel(0, 0);
15                 text += QString("RGB: %1, %2, %3").arg(color.red()).arg(color.green()).arg(color.blue());
16             }
17         }
18     }
19 
20     //方法二:windows系统api
21     POINT pt;
22     GetCursorPos(&pt);
23     HDC hDC = GetDC(NULL);
24     COLORREF color = GetPixel(hDC, pt.x, pt.y);
25     ReleaseDC(NULL, hDC);
26     BYTE r = GetRValue(color);
27     BYTE g = GetGValue(color);
28     BYTE b = GetBValue(color);

 

Qt QPixmap 颜色摄取器

原文:https://www.cnblogs.com/ybqjymy/p/14313263.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!