Flutter 将 Uint8List 传递给 iOS Objective-c

袜子

我正在尝试将图像作为 Uint8List 从 Flutter 传递给本机代码 Android/iOS,但在 iOS 端出现错误。我正在修改一个插件,我以前从未在 iOS 中开发过。这是从小部件捕获图像并将 Uint8List 发送到本机代码的 Flutter 代码。

  Future<void> _capturePng() async {
    RenderRepaintBoundary boundary =
    globalKey.currentContext.findRenderObject();
    ui.Image image = await boundary.toImage(pixelRatio: 1.50);
    ByteData byteData = await image.toByteData(format: ui.ImageByteFormat.png);
    Uint8List pngBytes = byteData.buffer.asUint8List();

    printer.printImage(pngBytes);
  }

在 Android 中,我使用 Kotlin:

private fun printImage(call: MethodCall, result: Result) {
    val image = call.arguments as ByteArray
    val res = mPrinterPlugin.printImage(image)
    result.success(res)
}

在 iOS 中,插件是用 Objective-C 编写的。我为我的图像添加了此检查

else if([@"imagePrint" isEqualToString:call.method]){

     NSData *imgBytes = call.arguments;

     UIImage *label = [UIImage imageWithData:imgBytes];

 }

我看到这Uint8ListFlutterStandardTypedData typedDataWithBytes在 iOS 中,但是当我将 imgBytes 类型设置为它时,我收到一个错误。

伊戈尔·卡拉霍丁

您应该将第一个参数作为类型化数据,可能是:

NSArray *args = call.arguments;
FlutterStandardTypedData *list = args[0];

科特林:

val args: List<Any> = call.arguments as List<Any>
val list = args[0] as ByteArray

你像这样调用它:

Uint8List uint8List;
_channel.invokeMethod("your_function_name", [uint8List]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Flutter将Hex转换为Uint8list

iOS-如何将数组作为参数传递给AFNetworking(Objective-C)

将Swift协议传递给Objective-C指针

将变量传递给Objective-C中的CLLocationManager

如何使用dart:ffi将Uint8List转换为C等效数据类型

Dart Flutter Uint8List

Flutter中无法将参数类型'String'分配给参数类型'Uint8List'/ postUrl方法

Flutter,dart:io-将Uint8List(从websocket)转换为我可以绘制的jpeg文件

将uint8_t而不是uint32_t传递给函数(在C中)

如何将std :: function从Objective-C ++传递给C ++方法

有没有办法将函数从objective-c++传递给标准c++?

Objective-C:将字符串参数传递给手势@selector

Objective-C将两个参数传递给bool方法

xcode 7 Objective c警告-将Null传递给需要非null参数的被调用方

将快速关闭传递给以块为参数的Objective-C函数

Objective-C将非本地对象的地址传递给__autoreleasing参数

是否可以将选择器或方法签名作为参数传递给Objective-C?

如何将Swift结构作为参数传递给Objective-C方法

如何将Objective-C NSError指针传递给Swift函数?

如何将Swift类传递给需要类的Objective-C方法?

将变量传递给Objective-C中嵌入在导航控制器中的View Controller

将函数中定义的变量传递给NSTimer函数Objective-c

将参数传递给Objective-C中的选择器

如何使用nsarray将数据收集传递给Objective C代码中的javascript函数

是否可以将完成块传递给Objective-C中的委托参数?

如何通过引用将UnsafePointer <UInt8>传递给C API?

在 FutureBuilder 中使用 Uint8List 的 Flutter 出现错误

Uint8List图片为空-Flutter

将参数传递给Flutter Riverpod StreamProvider