拍照version
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
#include <QUdpSocket>
|
||||
#include <QTimer>
|
||||
#include <QImage>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include "DeviceInfo.h"
|
||||
#include "DeviceInfoReceiver.h"
|
||||
#include <memory>
|
||||
@@ -47,7 +49,7 @@ private slots:
|
||||
/**
|
||||
* @brief 处理接收到的完整帧
|
||||
*/
|
||||
void on_frame_received(const QImage& img, double lat, double lon, double alt);
|
||||
void on_frame_received(const QImage& img, double lat, double lon, double alt, uint32_t photo_number);
|
||||
|
||||
/**
|
||||
* @brief 处理统计信息更新
|
||||
@@ -68,6 +70,11 @@ private slots:
|
||||
* @brief 设置按钮点击
|
||||
*/
|
||||
void on_settings_clicked();
|
||||
|
||||
/**
|
||||
* @brief 触发拍照按钮点击
|
||||
*/
|
||||
void on_trigger_capture_clicked();
|
||||
|
||||
/**
|
||||
* @brief 收到设备信息
|
||||
@@ -87,6 +94,7 @@ private:
|
||||
QPushButton* save_frame_btn_; ///< 保存帧按钮
|
||||
QPushButton* record_btn_; ///< 录制按钮
|
||||
QPushButton* settings_btn_; ///< 设置按钮
|
||||
QPushButton* trigger_capture_btn_; ///< 触发拍照按钮
|
||||
|
||||
// ========================================================================
|
||||
// 业务逻辑对象
|
||||
@@ -95,6 +103,7 @@ private:
|
||||
std::shared_ptr<GroundReceiver> receiver_; ///< UDP 接收器
|
||||
std::shared_ptr<DeviceInfoReceiver> device_info_receiver_; ///< 设备信息接收器
|
||||
std::shared_ptr<DataLogger> logger_; ///< 数据记录器
|
||||
QNetworkAccessManager* network_manager_; ///< HTTP 网络管理器
|
||||
|
||||
// ========================================================================
|
||||
// 状态变量
|
||||
@@ -105,6 +114,10 @@ private:
|
||||
double current_lon_ = 0.0; ///< 当前经度
|
||||
double current_alt_ = 0.0; ///< 当前海拔
|
||||
bool is_recording_ = false; ///< 是否正在录制
|
||||
uint32_t total_photos_received_ = 0; ///< 接收到的总照片数
|
||||
uint32_t current_photo_number_ = 0; ///< 当前照片编号
|
||||
QString ros2_node_ip_ = "localhost"; ///< ROS2 节点 IP 地址
|
||||
int ros2_http_port_ = 8080; ///< ROS2 HTTP API 端口
|
||||
|
||||
// ========================================================================
|
||||
// 初始化函数
|
||||
@@ -124,4 +137,19 @@ private:
|
||||
* @brief 创建菜单栏
|
||||
*/
|
||||
void create_menus();
|
||||
|
||||
/**
|
||||
* @brief 通过 HTTP 触发拍照
|
||||
* @param duration 总时间(秒)
|
||||
* @param count 拍照数量
|
||||
* @param interval 时间间隔(秒)
|
||||
* @param mode 传输模式(0=原图,1=缩略图)
|
||||
*/
|
||||
void triggerCaptureViaHttp(double duration, int count, double interval, int mode);
|
||||
|
||||
/**
|
||||
* @brief HTTP 请求响应处理
|
||||
* @param reply 网络响应
|
||||
*/
|
||||
void onHttpReply(QNetworkReply* reply);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user