[英]Delete captured image in imageCapture of QML Camera
我正在處理圖像處理應用程序,並且使用此代碼
Camera {
id: cam
viewfinder.resolution: "640x480"
viewfinder.minimumFrameRate: 5
captureMode: Camera.CaptureStillImage
imageCapture {
resolution: "640x480"
onReadyChanged: {
imageDecoder.reset() // my decoder class
cam.imageCapture.capture()
}
onImageCaptured: {
console.log(requestId, preview)
imageDecoder.decodeQmlPreview(preview)
}
}
imageProcessing {
contrast: 0.60
}
}
VideoOutput {
id: output
fillMode: VideoOutput.PreserveAspectCrop
anchors.fill: parent
source: cam
}
我看到所有這些捕獲的圖像( preview
)都存儲在硬盤驅動器上,並且從未被刪除。 如何刪除這些圖像? 我的可用硬盤空間非常有限。
# ls -lh | grep IMG
-rw-r--r-- 1 root root 10.5K Jan 1 00:40 IMG_00000001.jpg
-rw-r--r-- 1 root root 12.2K Jan 1 00:45 IMG_00000002.jpg
-rw-r--r-- 1 root root 15.6K Jan 1 00:48 IMG_00000003.jpg
-rw-r--r-- 1 root root 15.6K Jan 1 00:49 IMG_00000004.jpg
-rw-r--r-- 1 root root 11.4K Jan 1 01:05 IMG_00000005.jpg
QML與FS具有相當隱式的關系-它的內部功能可以讀取甚至有時可以寫入,但是它似乎沒有為用戶直接與FS交互而定義的API。
這意味着您將必須在C ++中實現該功能,並將其公開給QML。
我的做法是創建一個class System : public QObject
然后將所有必需的內容放入main.cpp
:
System s(&engine);
engine.rootContext()->setContextProperty("Sys", &s);
然后從QML您可以簡單地Sys.doYourStuff()
。 在您的情況下,您需要靜態函數bool QFile::remove(const QString &fileName)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.