face java_Java Camera.Face方法代码示例

import android.hardware.Camera; //导入方法依赖的package包/类

@Override

public void onFaceDetection(Camera.Face[] faces, Camera camera) {

if (faces.length > 0) {

Matrix matrix = new Matrix();

boolean frontCamera = (getCameraType() == RCTCameraModule.RCT_CAMERA_TYPE_FRONT);

int height = getHeight();

int width = getWidth();

matrix.setScale(frontCamera ? -1 : 1, 1);

matrix.postRotate(RCTCamera.getInstance().getOrientation());

matrix.postScale(width / 2000f, height / 2000f);

matrix.postTranslate(width / 2f, height / 2f);

double pixelDensity = getPixelDensity();

for (Camera.Face face : faces) {

RectF faceRect = new RectF(face.rect);

matrix.mapRect(faceRect);

WritableMap faceEvent;

faceEvent = Arguments.createMap();

faceEvent.putInt("faceID", face.id);

faceEvent.putBoolean("isFrontCamera", frontCamera);

faceEvent.putDouble("x", faceRect.left / pixelDensity);

faceEvent.putDouble("y", faceRect.top / pixelDensity);

faceEvent.putDouble("h", faceRect.height() / pixelDensity);

faceEvent.putDouble("w", faceRect.width() / pixelDensity);

((ReactContext) getContext()).getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)

.emit("CameraFaceDetected", faceEvent);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值