[英]How to access camera in QML QVideoFilterRunnable?
跟隨位於https://blog.qt.io/blog/2015/03/20/introducing-video-filters-in-qt-multimedia的博客之后,我設法使我的C ++過濾器與QML定義的相機一起使用。 我遇到的問題是我的濾鏡收到的圖像不能說明我的屏幕方向。 Qt文檔http://doc.qt.io/qt-5/cameraoverview.html顯示了如何根據相機和屏幕方向旋轉圖像。 目前尚不清楚如何從過濾器獲取相機實例。 這是我的QML文件中的相關代碼段:
Camera {
id: camera
captureMode: Camera.CaptureStillImage
...
}
MyFilter {
id: filter
}
VideoOutput {
id: viewfinder
source: camera
filters: [ filter ]
...
}
如何從QVideoFilterRunnable實例訪問QCamera實例? 問候。
回答有關旋轉的具體問題,我最好的答案是將方向從VideoOutput組件傳遞到您的自定義組件,即
Camera {
id: camera
captureMode: Camera.CaptureStillImage
...
}
MyFilter {
id: filter
orientation: videofinder.orientation
}
VideoOutput {
id: viewfinder
source: camera
autoOrientation: true
filters: [ filter ]
...
}
這樣,您的自定義過濾器將知道最終用戶如何看您的圖像。 在某些設備上,另一個陷阱也是圖像被翻轉:
#ifdef Q_OS_ANDROID
bool flip = true;
#else
bool flip = surfaceFormat.scanLineDirection() == QVideoSurfaceFormat::BottomToTop;
#endif
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.