QML
这个不说了,qml是qt在Qt4.7推出的qt元对象语言。
QZXing
QZXing是对ZXing库的一个Qt外包库(Qt wrapper library),是被QRCode只是其中的一种。
实现
从手机摄像头拿到帧图像和实时显示,使用用了Camera
和VideoOutput
,开始实现的时候,使用了CameraCapture
,其性能不能忍受。然后我希望可以直接从VideoOutput
中取出图片。
对QRCode的识别是一个cpu密集型运算,在UI主线程中做会出现卡顿,那可以使用QThread。
用C++来做QRCode识别,qt5之后的QML渲染机制使用了OpenGL ES,其在单独的渲染线程进行,其由QWindow完成。QML中的一个可视化元素都是QQuickItem
的一个实例。Qt为我们提供了grabToImage
调用。
void Supporter::decoderVideoOutputQML(QObject *obj)
{
if (!m_bisGrab) {
QQuickItem *item <