如何在 iOS 上使用 Flutter 将 BGRA8888 CameraImage 转换为图像?

问题描述 投票:0回答:1

我想用相机包拍照,它给我一个 CameraImage 并将其转换为图像包使用的图像格式(这样我就可以旋转、操作它等)。

Image.decodeBytes 不起作用,只返回 null。

ios flutter image camera
1个回答
0
投票

此代码成功转换了 iOS 上的图像:

const IOS_BYTES_OFFSET = 28;

static Image _convertBGRA8888ToImage(CameraImage cameraImage) {
  final plane = cameraImage.planes[0];

  return Image.fromBytes(
    width: cameraImage.width,
    height: cameraImage.height,
    bytes: plane.bytes.buffer,
    rowStride: plane.bytesPerRow,
    bytesOffset: IOS_BYTES_OFFSET,
    order: ChannelOrder.bgra,
  );
}

仅供参考,上面的答案作为不可接受的答案出现在另一个部分相关的问题上,但很难找到,因为该问题没有直接询问:如何将相机图像转换为图像?

© www.soinside.com 2019 - 2024. All rights reserved.