Je travaille sur Qt Qcamera
pour capturer des images sur une tablette Windows Surface Pro. J'ai écrit ce petit morceau de code pour vérifier la fonctionnalité de QCamera, mais après avoir capturé l'image, l'image enregistrée a la résolution très basse c'est-à-dire 640 * 360, quoique la caméra arrière de surface pro prenne en charge 1280 * 720. Même le QList pour la résolution prise en charge retourne toujours vide. J'ai regardé partout mais je n'ai pas trouvé de solution possible, quelqu'un peut-il m'aider?Comment régler la résolution d'image avec QCamera dans Qt 5.3?
Voici le code que je utilise:
#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();
}