Flutter yuv 转 rgb

1、引用yuv_converter库

复制代码
yuv_converter: ^0.0.1

2、导入头文件:

复制代码
import 'package:yuv_converter/yuv_converter.dart';

3、yuv转rgb

复制代码
YuvConverter.yuv420NV21ToRgba8888(yuvRawData, 512, 512)

根据yuv格式选择不同的api。

举个例子:

复制代码
void initState() {
    super.initState() ;
    loadAssetAsUint8List("assets/yuv/1_uyvy.yuv").then((yuvRawData){
      rgbga1 = YuvConverter.yuv422uyvyToRgba8888(yuvRawData, 512, 512) ;
      setState(() {

      });
    }) ;

    loadAssetAsUint8List("assets/yuv/1_nv21.yuv").then((yuvRawData){
      rgbga2 = YuvConverter.yuv420NV21ToRgba8888(yuvRawData, 512, 512) ;
      setState(() {

      });
    }) ;
  }

  Future<Uint8List> loadAssetAsUint8List(String assetPath) async {
    // 使用rootBundle加载assets中的文件
    final ByteData data = await rootBundle.load(assetPath);

    // 将ByteData转换为Uint8List
    final Uint8List uint8List = data.buffer.asUint8List();

    return uint8List;
  }

github:

https://github.com/menshen/flutter_yuv_converter

相关推荐
程序员老刘3 小时前
Qwen 3.8 max干了20分钟没干完,免费模型3分17秒搞定,问题出在哪?
flutter·ai编程
飞凌嵌入式5 小时前
告别多端重复开发:Buildroot+Flutter实现全平台UI风格统一
flutter·ui
FungLeo6 小时前
Flutter 带 TTL 的多级缓存设计:内存+磁盘+网络三层实战
网络·flutter·缓存·性能优化
FungLeo7 小时前
Flutter 可复用公共组件库设计与落地:AppDialog/BottomSheet 等实战
flutter
Fungleo10699721 小时前
Flutter/Android Release 包连不上网?AndroidManifest INTERNET 权限排查实录
flutter
GitLqr1 天前
Flutter 实战:为你的 App 增加桌面快捷方式 (Quick Actions)
flutter·app·全栈
FungLeo1 天前
Flutter 把第三方 UI 库渐进迁回 Material 3:组件映射总表 + 四批次替换实战
flutter·ui
GitLqr2 天前
iOS 27 强制要求 UISceneDelegate:UIKit 和 Flutter 开发者该如何应对?
flutter·ios·全栈
蜡台2 天前
Flutter HTTP 请求完整详解
网络协议·flutter·http·dart
9765033352 天前
iOS 上架/审核 4.3a Cocos 2026最新方案解读
flutter·ios·swift·cocos2d·ios开发