2016-04-18 10 views
0

Я работаю над Qt Qcamera для съемки изображений на планшете Windows Surface Pro. Я написал этот небольшой фрагмент кода, чтобы проверить функциональность QCamera, но после захвата изображения сохраненное изображение имеет очень низкое разрешение, то есть 640 * 360, хотя задняя камера с поверхностным профи поддерживает 1280 * 720. Даже QList для поддерживаемого разрешения всегда возвращает пустой. Я везде искал, но не мог найти возможного решения, может ли кто-нибудь помочь?Как установить разрешение изображения с помощью QCamera в Qt 5.3?

Вот код, я использую:

#include "camera.h" 
#include <QCamera> 
#include <QCameraImageCapture> 
#include <QCameraViewfinder> 
#include <QDebug> 
#include<QMultimedia> 

Camera::Camera(QWidget *parent) : 
    QWidget(parent) 
{ 

    QByteArray cameraDevice; 
    int count = QCamera::availableDevices().count(); 

    int cameraId = 1; 


    QList<QByteArray> cameradev = QCamera::availableDevices(); 
    QByteArray camdevice = cameradev[cameraId]; 

    QCamera *camera = new QCamera(camdevice); 

    QString description = camera->deviceDescription(camdevice); 
    qDebug() <<"Device Name"<< description; 

    QCameraViewfinder *viewfinder = new QCameraViewfinder(); 
    viewfinder->showMaximized(); 
    camera->setViewfinder(viewfinder); 
    QCameraImageCapture *imageCapture = new QCameraImageCapture(camera); 
    //camera->setCaptureMode(QCamera::CaptureStillImage); 
    camera->start(); 
    QList<QSize> resolutions = imageCapture->supportedResolutions();//returns  always empty 
    QImageEncoderSettings imageSettings; 
    imageSettings.setCodec("image/jpeg"); 
    imageSettings.setResolution(1280, 720); 
    imageCapture->setEncodingSettings(imageSettings); 
    imageCapture->capture("D:/1.jpg"); 
    camera->searchAndLock(); 
    camera->unlock(); 
    qDebug() << camera->error();  
} 

ответ

1

Ну казалось, что проблема была с Qt версии эта проблема решена в Qt 5.5 версии и выше, и это возможно, чтобы получить все поддерживаемые резолюции камеры , Спасибо, хотя!