Android摄像头-如何在预览中更改像素?
我想将预览中的一些像素更改为比其他像素暗一点。 假设我希望预览的上半部分比下半部分稍微暗一点 我试着像这样使用setPreviewCallback:Android摄像头-如何在预览中更改像素?,android,camera,preview,Android,Camera,Preview,我想将预览中的一些像素更改为比其他像素暗一点。 假设我希望预览的上半部分比下半部分稍微暗一点 我试着像这样使用setPreviewCallback: camera.setPreviewCallback(new PreviewCallback() { // Called for each frame previewed public void onPreviewFrame(byte[] data, Camera camera) { Log.d(TAG, "onPreview
camera.setPreviewCallback(new PreviewCallback() {
// Called for each frame previewed
public void onPreviewFrame(byte[] data, Camera camera) {
Log.d(TAG, "onPreviewFrame called at: " + System.currentTimeMillis());
for (int i = 0; i < data.length; i++){
if(i < data.length/2)
data[i] = manipulate(data[i]);
}
Preview.this.invalidate();
}
});
camera.setPreviewCallback(新的PreviewCallback(){
//为预览的每个帧调用
预览帧上的公共无效(字节[]数据,摄像头){
Log.d(标记为“+System.currentTimeMillis()”处调用的onPreviewFrame”;
对于(int i=0;i
但它不起作用,因为我做错了什么。我怎样才能让它工作
谢谢
Eyal这样操作预览是不可能的,因为您只能将缓冲区的一个副本放到onPreviewFrame中 最简单的方法是覆盖另一个视图,它使用透明画布使部分视图变暗。如果需要检查传入图像以生成覆盖,覆盖视图可以实现Camera.PreviewCallback 在您的活动中,您会:
setContentView(yourPreviewSurfaceView);
addContentView(yourOverlayView, ...);