это QUrl. Выглядит так
image://camera/preview_1
. Когда передаю в с++ QUrl, то открыть не получится. Как этот QUrl правильно открыть?
void CameraHelper::saveImage(QUrl url)
{
QImage img(url.path());
img.save("test.png");
}
Я научился по другому ловить QImage с камеры не сохраняя на диск файл, но способ очень костыльный. Думал как-то проще можно
Получилось через провайдер изображения. void CameraHelper::saveImage(QUrl url) { QQmlEngine *engine = QQmlEngine::contextForObject(this)->engine(); QQmlImageProviderBase *imageProviderBase = engine->imageProvider(url.host()); QQuickImageProvider *imageProvider = static_cast<QQuickImageProvider*>(imageProviderBase); QSize imageSize; QImage image = imageProvider->requestImage(url.fileName(), &imageSize, imageSize); ...
Обсуждают сегодня