我想用相机包拍照,它给我一个 CameraImage 并将其转换为图像包使用的图像格式(这样我就可以旋转、操作它等)。
Image.decodeBytes 不起作用,只返回 null。
此代码成功转换了 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,
);
}
仅供参考,上面的答案作为不可接受的答案出现在另一个部分相关的问题上,但很难找到,因为该问题没有直接询问:如何将相机图像转换为图像?