簡體   English   中英

連接滑塊以控制qml Camera的縮放

[英]Connect a slider to control zoom on qml Camera

我正在使用相機拍攝電影。
我想使用滑塊來縮放視頻,例如Google地圖的縮放。
在SO上找到了另一個問題,但建議的解決方案適用於單擊,而我想為滑塊開發解決方案。
我寫的代碼無法正常工作。 我沒有發現錯誤,但是視頻尺寸會很大,那么我看不到視頻。
我嘗試為相機設置digitalZoom,但出現此錯誤: 相機不支持縮放。 。我知道我的相機不支持“ DigitalZoom”和“ OpticalZoom”。 我想找到一種放大從相機拍攝的視頻的方法。
我的相機是dino ccd。 對不起,朋友們,我無法添加評論,我遇到了這個錯誤:“您必須有50個聲譽才能發表評論”。

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
          }
      }
  }

您是否要像普通移動相機應用程序一樣嘗試使用滑塊實現放大/縮小功能,如果可以,請考慮以下未經測試的代碼段,因為當前我沒有安裝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
          }
      }

另外,我也希望您查看這些類型的官方文檔。 滑塊相機 如果您需要進一步的說明,請在下面發表評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM