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

相关推荐
爱学习的大牛1232 小时前
flutter 获取通话记录和通讯录
开发语言·flutter
GeniuswongAir15 小时前
Flutter BloC 架构入门指南
flutter·bloc
90后的晨仔19 小时前
Flutter 报错 [☠] Network resources (the doctor check crashed)xxxx
前端·flutter
pengyu19 小时前
【Flutter 状态管理 - 贰】 | 提升对界面与状态的认知
android·flutter·dart
HuWentao1 天前
你不需要那么多Provider——重新理解状态管理与业务逻辑
前端·flutter
好的佩奇1 天前
Dart 之异步模型
android·flutter·dart
louisgeek1 天前
Flutter StatelessWidget 和 StatefulWidget 的区别
flutter
JarvanMo2 天前
Flutter插件中引用aar
flutter
孤鸿玉2 天前
[Flutter小试牛刀] 写一个低配版的signals
flutter