captureFrameAsPng static method
Future<Uint8List?>
captureFrameAsPng({
- required CameraImage cameraImage,
- int rotation = 0,
- bool flipHorizontal = false,
Implementation
static Future<Uint8List?> captureFrameAsPng({
required CameraImage cameraImage,
int rotation = 0,
bool flipHorizontal = false,
}) async {
try {
img.Image image;
if (cameraImage.format.group == ImageFormatGroup.yuv420) {
image = _convertYUV420ToImage(cameraImage);
} else if (cameraImage.format.group == ImageFormatGroup.bgra8888) {
image = _convertBGRA8888ToImage(cameraImage);
} else {
log('Unsupported image format: ${cameraImage.format.group}');
return null;
}
if (rotation != 0 && Platform.isAndroid) {
image = img.copyRotate(image, angle: rotation);
}
if (flipHorizontal) {
image = img.flipHorizontal(image);
}
return Uint8List.fromList(img.encodePng(image));
} catch (e) {
log('Error converting camera image to PNG: $e');
return null;
}
}