NB: Обновлённое решение
тут Всем хорош Qt прям до безумия...один код все платформы...если бы не iOS который на iphone я бы был рад и не занимался хернёй...однако приходится...итак у нас проблема с QML модулем Camera и она только в iOS...
Проблема, даже 2 - первая: в iOS не работает функция searchAndLock(); от слова совсем...приходится городить костыли
Код QML:camera.imageCapture.capture();
Это не самая страшная проблема, далее начинается веселье. iPhone у нас умный, одного говорят даже председателем колхоза назначили, и ему вздумалось поворачивать картинки с камеры, при сохранении на 90 градусов...будем исправлять....
Итак, пункт первый, пишем обёртку для поворота изображения:
Код CPP-QT:void Adapter
::rotateImage(QString url
) {
#if defined(Q_OS_IOS)
transPixmap->save(url, "jpg", 100);
#endif
emit imageRotate("file://"+url);
}
Если не знаете как передавать в QML сигнал с параметром то делается это просто - в хедаре прописываем:
Далее мы увидим где этот preview обнаружится :)
Данный код просто поворачивает картинку, и возвращает её урл через сигнал, только для iOS - у остальных всё норм. Далее идём в QML и там меняем в ImageCapture:
Код QML:onImageSaved: {
adapter.rotateImage(path);
}
Думаю не нужно объяснять как перекинуть C++ функцию в QML. Если нужно - пишите в комменты.
То есть, я сказал отправить URL картинки в адаптер, если нужно он его перевернёт. Далее, у нас срабатывает сигнал imageRotate и надо его отловить:
Код QML: target: adapter
onImageRotate: {
preview_img.src = preview;
}
}
Вот и тот самый preview который мы объявляли в сигнале.
Вот в принципе и вся работа...
Есть вопросы? Жду комментариев.