Qt扫描二维码

tgd1221 2014-08-27 05:48:44
我使用的是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 为空
请问下这里要怎么转换
...全文
1009 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qcgao 2014-10-26
  • 打赏
  • 举报
回复
然后参考http://www.oschina.net/code/snippet_593514_22430的识别部分
bqw2008 2014-10-21
  • 打赏
  • 举报
回复
楼主问题解决了么
寒山-居士 2014-09-11
  • 打赏
  • 举报
回复
个人建议使用C++部分的解码函数,QZxing不是有2个函数吗 一个是C++ 一个是QML的,只要将QML部分的图片的地址传给C++,就可以做到解码,你可以参考开源项目 https://github.com/dplanella/qzxing
tgd1221 2014-09-09
  • 打赏
  • 举报
回复
哎,等了这么久也没人回复
feilinhe 2014-09-09
  • 打赏
  • 举报
回复
这个东西没用过,不过我有个想法: 1. QImage::fromData()这个函数可以讲图片数据转换成Image对象; 2.QPixmap::fromImage()函数可以将QImage对象转化成QPixmap 3. QGraphicsPixmapItem可以加载QPixmap对象,QGraphicsPixmapItem继承自QGraphicsItem,QGraphicspItem又继承自QGraphicsObject 不知道你明白我的意思了没???

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧