Попытка отключить ускорение мыши, и у меня есть вопрос

Чтобы получить изображение предварительного просмотра на C ++, вы должны передать свойство mediaObject элемента QML Camera на C ++. Вы можете увидеть этот код в приложении-камере в качестве примера.

Вы можете попытаться использовать mediaObject с этим mediaObject. Но я не уверен, что это сработает. Но у него есть сигнал imageCaptured, который вам понадобится. Это имеет QImage с предварительным просмотром.

void AdvancedCamera::setCamera(QObject *cameraObject)
{
    QVariant cameraVariant = cameraObject->property("mediaObject");
    QCamera *camera = qvariant_cast(cameraVariant);
    QCameraImageCapture *imageCapture = new QCameraImageCapture(camera);
    QObject::connect(imageCapture, SIGNAL(imageCaptured(int, const QImage&))
        myObject, SLOT(processPreview(int, const QImage&)));
}

Если это не сработает, вот еще один способ, используя QImage из , что код в камере -app :

void AdvancedCamera::setCamera(QObject *cameraObject)
{
    QVariant cameraVariant = cameraObject->property("mediaObject");
    QCamera *camera = qvariant_cast(cameraVariant);
    QMediaService *service = camera->service();
    QMediaControl *control = service->requestControl(QCameraImageCaptureControl_iid);
    QCameraImageCaptureControl *captureControl = qobject_cast(control);
    QObject::connect(captureControl, SIGNAL(imageCaptured(int, const QImage&))
        myObject, SLOT(processPreview(int, const QImage&)));
}

Для лучшего примера вы должны посмотреть код камеры-приложения.

Для получения окончательного изображения, поставленного как camera-app в C ++, вам нужно будет установить captureDestination. Но это еще не все (поддерживается?), Поддерживаемое камерой с телефонами Ubuntu.

1
задан 17 January 2015 в 23:26

0 ответов

Другие вопросы по тегам:

Похожие вопросы: