Qt5中去除了Phono,却而代之的是QtMultimedia,模块提供了许多与多媒体有关的类。
今天主要使用QCamera类来打开设备和显示图像,以及截图。
1.QCamera类这个QCamera类提供了接口系统相机设备QCamera能够被用和QVideoWidget一起取景器显示,和QMediaRecorder一起视频录制,和QCameraImageCapture 一起进行图像采取。
三种模式:1只是用来显示2静态图片捕获3视频捕获
p_camera = new QCamera;//启用系统默认的摄像头
p_ciCapture = new QCameraImageCapture(p_camera);//用摄像头初始化一个QCameraImageCapture用来截图
p_camera->setCaptureMode(QCamera::CaptureStillImage);//设置摄像头的模式,可以抓取静态图像
p_camera->setViewfinder(ui->widget);//设置显示的窗体
p_camera->start();//摄像头启动
//可以截图则截图
if (p_ciCapture->isReadyForCapture()) {
p_ciCapture->capture();
}
//截图后QCameraImageCapture发出下面这个信号,与一个槽相连显示图片
imageCaptured(int,QImage)
//显示截图的图片的槽函数
QImage scaledImage = image.scaled(ui->widget->size(),
Qt::KeepAspectRatio,
Qt::SmoothTransformation);
ui->label->setPixmap(QPixmap::fromImage(scaledImage));
不过截取的图片可能出现断裂的情况,可能是底层的问题。