Qt扫描二维码
我使用的是QZXing库,用QML调用QZXing的方法decodeImageQML(QObject *item)实现二维码的读取,我的实现方法是:
1. Camera+VideoOutput,让摄像头获取的图像在屏幕上显示;
2. 定义了一个Image控件,设置无效,用于显示Camera拍的照片;
3. 定义了个Canvas,Canvas填充整个图像的显示区域,在Canvas中画了一个正方形的透明的绿色框用于显示二维码,Canvas其他区域设置偏暗的颜色,Canvas显示Image的图片,现在用context.getImageData()获取绿色框中的二维码图片。
问题:
1, context.getImageData()获取的是一个CanvasImageData对象,怎么将CanvasImageData对象转换成Image,然后作为decodeImageQML(QObject *item)的参数;
2,void ImageHandler::decodeImageQML(QObject *imageObj)
{ QGraphicsObject *item = qobject_cast<QGraphicsObject*>(imageObj); 后面是将QGraphicsObject 转为QImage}
QGraphicsObject *item = qobject_cast<QGraphicsObject*>(imageObj); 获取的item 为空
请问下这里要怎么转换