2016-11-22 5 views
5

Я использую камеру для съемки фильмов.
Я хочу использовать слайдер для масштабирования видео, например, масштабирования карты google.
Я нашел еще Question on SO, но предлагаемое решение работает для кликов, тогда как я хотел бы разработать решение для слайдера.
Я написал код, который работает неправильно. Я не нашел ошибку, но размер видео будет очень большим, тогда я не вижу видео.
Я пытаюсь установить digitalZoom для камеры, но у меня есть эта ошибка: Камера не поддерживает масштабирование.. Я знаю, что моя камера не поддерживает «DigitalZoom» и «OpticalZoom». Я хочу найти способ увеличить изображение, снятое с камеры.
My camera is dino ccd. Извините, друзья, я не могу добавить комментарий, у меня есть эта ошибка: «У вас должна быть 50 репутации для комментариев».Подключите ползунок для управления увеличением на qml Камера

VideoOutput { 
    id: viewfinder 
    source: camera 
    anchors.fill: parent 
    focus : true         
    transform: [ 
     Scale { 
      id: zoomScale 
     }, 
     Translate { 
      id: zoomTranslate 
     } 
     ] 

     //Keys.onLeftPressed: viewfinder.seek(viewfinder.position - 5000) 
     //Keys.onRightPressed: viewfinder.seek(viewfinder.position + 5000) 

     MouseArea { 
      anchors.fill: parent 
      acceptedButtons: Qt.AllButtons 
      onClicked: { 
       var zoomIn = mouse.button === Qt.LeftButton; 
       zoomScale.origin.x = mouse.x; 
       zoomScale.origin.y = mouse.y; 
      } 
     } 

     Slider { 
      id:zoomVideo 
      orientation: Qt.Vertical 
      minimumValue: 0 
      maximumValue: 100 
      stepSize: 10 

      onValueChanged: { 
       zoomScale.xScale = zoomVideo.value 
       zoomScale.yScale = zoomVideo.value 
      } 
     } 
    } 
+0

Итак, в чем ваш вопрос? – folibis

+0

Что значит «неправильно работать»? Какая ошибка/неожиданное поведение вы получаете? – folibis

+0

Какое устройство вы используете? В принципе, все камеры поддерживают только цифровые оптические трансфокаторы с цифровым зумом. – Unknown

ответ

0

Вы пытаетесь осуществить наезд/функциональность зума с помощью ползунка так же, как обычного мобильного приложение камеры делает, если да, то рассмотрят ниже непроверенной фрагмент кода, потому что в настоящее время у меня нет машины с установленной Qt IDE, но это должно помочь вам понять концепцию.

Camera { 
     id: camera 
     digitalZoom:zoomSlider.value 
     //if opticalZoom is supported uncomment below line 
     //opticalZoom:zoomSlider.value 

     // rest of your settings 
    } 

VideoOutput { 
    id: viewfinder 
    source: camera 
    anchors.fill: parent 
    focus : true 

    } 

    Slider { 
      id:zoomSlider 
      orientation: Qt.Vertical 
      minimumValue: 0 
      maximumValue: camera.maximumDigitalZoom //or camera.maximumOpticalZoom 
      stepSize:camera.maximumDigitalZoom/10 // going through 10 steps 
      value:1.0        // initial zoom level 
      anchors{ 
      left:parent.left 
      leftMargin:5 
      verticalCenter:parent.verticalCenter 
      } 
     } 

, а также я хотел бы, чтобы вы ознакомились с официальной документацией для этих типов. Slider, Camera. Если вам нужны дополнительные разъяснения, напишите комментарии ниже.