2016-04-18 7 views
0

私はQt Qcameraに取り組んで、Windows Surface Proタブレットで画像をキャプチャしています。私はQCameraを機能的にチェックするためにこの小さなコードを書いていますが、画像をキャプチャした後、表面プロのリアカメラが1280 * 720をサポートしていても保存された画像は640 * 360という非常に低い解像度を持っています。サポートされている解像度のQListであっても、常に空を返します。私はどこにでも見えましたが、解決策を見つけることができませんでした。だれでも助けてくれますか?ここで Qt 5.3でQCameraを使って画像の解像度を設定する方法は?

は、私が使用していますコードです:

#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バージョンを固定して、上記されたようで、それはカメラのすべてのサポートされている解像度を取得することが可能です。 ありがとう!

関連する問題