Как установить разрешение изображения с помощью QCamera в Qt 5.3?

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

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

#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();    
}

person user3807950    schedule 18.04.2016    source источник


Ответы (1)


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

person user3807950    schedule 25.05.2016