PROJECT 03 / 11
Flutter 鸿蒙汉印 · 文档打印
Flutter / 鸿蒙 / C++ 开发工程师2025.12 — 2026.03
以 Flutter 与鸿蒙混合架构实现图片裁剪、C++ 滤镜、跨端路由和蓝牙 / Wi-Fi 打印。
核心技术栈
跨平台桥接:基于 MethodChannel 与 EventChannel 实现 Flutter Engine 与 HarmonyOS ArkTS 底层的双向长链接与短链接通信。
系统底层硬件与网络:使用 @ohos.bluetooth.ble 模块实现 BLE 广播发现与 GATT 读写连接;使用 @ohos.net.socket 创建 UDP/TCP 实例实现 Wi-Fi mDNS 发现与 Socket 流式数据传输。
C++ 集成引擎:借助 dart:ffi 接入 C++ 动态链接库进行高性能矩阵图像卷积(半色调、文档滤镜增强),以及在原生底座包入 OpenCV C++ 算子完成 Canny 边缘检测查找最大四边形轮廓。
混合路由架构:打通 Flutter 原生 Navigator、ArkUI NavPathStack 以及搭载 Web 层的 H5 容器,实现跨技术引擎的复杂混合栈后退事件统一接管与内存主动回收。
具体项目经历
1. 核心图像C++算法集成:集成 C++ OpenCV 边缘检测算法,实现进入图片页时的轮廓识别与自动生成高精度的初始化框选区域。
2. ArkUI 自定义裁剪交互:基于 ArkTS PanGesture 与原生 Canvas,实现 8 个辅助锚点的坐标约束与任意拖拽,完成图片多边形裁剪。
3. Flutter-原生混合通信:封装 MethodChannel 跨端通信引擎(gotoFlutter),实现原生端拍摄处理后,将成品图片路径极速回传 Flutter 侧。
4. 去手写云端渲染链路:对接七牛云 OSS 存储,开发图片异步直传并请求后端“去手写” AI 服务,最终获取 CDN 链接在 Flutter 端完成渲染。
5. 底层高性能C++滤镜引擎:使用 dart:ffi 封装 C++ 图像处理动态库,暴露内存指针供 Flutter 调用,实现黑白、半色调、文档增强等秒级滤镜渲染。
6. Flutter 高级画板引擎:深入使用 CustomPainter 与手势识别,通过 BlendMode.clear 混合模式实现路径橡皮擦,并拓展矩形框选等涂鸦工具。
7. 动态视图排版交互:运用 GestureDetector 的 ScaleUpdate 事件动态绑定字体 State,实现单题答案解析页多轨排版的丝滑字体缩放体验。
8. 跨技术栈路由栈编排:设计打通 Flutter Navigator、ArkTS NavPathStack 以及内部 Web 组件的混合路由栈,实现首页到单题页再到 H5 问 AI 的闭环跳转。
9. 硬件近场通信与打印链路管控:设计基于 MethodChannel 的设备连接中心,将底层蓝牙 BLE 与 Wi-Fi 局域网的设备发现、流式数据传输收归原生端处理,Flutter 侧通过事件流响应连接状态。