Qt笔记_相机QCamera

相机

文章目录


可以使用QCameraInfo查询系统当前的可用相机设备。
deviceName()可以返回设备的ID,可读性差,可以使用description()返回相机的描述。
orientation()获取相机的旋转角度(移动设备)。
相机状态改变时会发射statusChanged()信号。

QCamera的不同状态

常量描述
QCamera::ActiveStatus相机开始采集数据
QCamera::StartingStatus相机正在启动
QCamera::StoppingStatus相机正在停止
QCamera::StandbyStatus待机状态
QCamera::LoadedStatus加载完成,可以进行设置
QCamera::LoadingStatus相机正在加载
QCamera::Unloading相机正在被卸载
QCamera::UnloadedStatus相机没有被加载
QCamera::UnavailableStatus相机后端不可用

QCameraImageCapture是一个图像录制类,可用于拍照。拍照前可以使用setEncodingSettings()来进行编码设置,capture()捕获图像。

QMediaRecorder()类用来记录媒体内容。

调用本地相机,进行拍照的小例子:

#include "widget.h"
#include "ui_widget.h"
#include <QCameraInfo>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QFileDialog>
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QList<QCameraInfo> cameras = QCameraInfo::availableCameras();
    if(cameras.count() > 0) {
        foreach (const QCameraInfo &cameraInfo, cameras) {
            qDebug() << cameraInfo.description();
        }
        camera = new QCamera(cameras.at(0));
    }
    viewfinder = new QCameraViewfinder(this);
    camera->setViewfinder(viewfinder);
    viewfinder->resize(600, 350);
    imageCapture = new QCameraImageCapture(camera);
    camera->start();
}
Widget::~Widget()
{
    delete ui;
}
// 拍照按钮
void Widget::on_pushButton_clicked()
{
    camera->setCaptureMode(QCamera::CaptureStillImage);
    QString fileName = QFileDialog::getSaveFileName();
    camera->searchAndLock();
    // 必须使用绝对路径
    imageCapture->capture(fileName);
    camera->unlock();
}

此外在硬件允许的情况下(手机平台)可以设置曝光、对焦等
QCamera::imageProcessing可以返回相机图像处理控制对象,QCameraImageProcessing类提供了与图像处理相关的相机设置接口。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值