HarmonyOS中如何在相机回调的拍照数据做裁切?目前想实现根据下面函数回调的nextImage 数据,对数据做裁切,类似传入矩形位置,然后拿到裁切后的数据。
try {
imageReceiver.on('imageArrival', () => {
imageReceiver.readNextImage((err: BusinessError, nextImage: image.Image) => {
if (err || nextImage === undefined) {
ConsoleUtils.LOG_SDK_WARN(ConsoleUtils.CAMERA, "onImageArrival readNextImage err:" + err.code)
return;
}
nextImage.getComponent(image.ComponentType.JPEG, (err: BusinessError, imgComponent: image.Component) => {
//ConsoleUtils.LOG_SDK_WARN(ConsoleUtils.CAMERA,IdcardConfig.SDK_TAG_CameraController+ "getComponent")
if (err || imgComponent === undefined) {
ConsoleUtils.LOG_SDK_WARN(ConsoleUtils.CAMERA, "onImageArrival getComponent err:" + err.code)
return;
}
//ConsoleUtils.LOG_SDK_WARN(ConsoleUtils.CAMERA,IdcardConfig.SDK_TAG_CameraController+ "isPreviewMode:" + this.isPreviewMode);
if (imgComponent.byteBuffer as ArrayBuffer) {
// 回调数据
onReceiver(imgComponent);
nextImage.release(); // 必须进行释放否则无法持续获取帧数据
} else {
nextImage.release();
return;
}
})
})
})
} catch (error) {
}
你可以参考一下Demo将图片转成pixelmap,再根据文档https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V...,进行图片的裁切处理。