Я хочу создать приложение для Android, которое будет использовать камеру и применять фильтры обработки изображений к кадрам предварительного просмотра.
Я хочу создать приложение для Android, которое будет использовать камеру и применять фильтры обработки изображений к кадрам предварительного просмотра.
public void surfaceCreated(SurfaceHolder holder) { camera = Camera.open();
try { camera.setPreviewDisplay(holder);
camera.setPreviewCallback(new PreviewCallback() { public void onPreviewFrame(byte[] data, Camera arg1) { for( int i = 0 ; i < data.length ; i ++ ){ data[ i] = 0; // or some sirius filter } Preview.this.invalidate(); } }); } catch (IOException e) { e.printStackTrace(); } }
public void surfaceDestroyed(SurfaceHolder holder) { camera.stopPreview(); camera = null; }
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { Camera.Parameters parameters = camera.getParameters(); parameters.setPreviewSize(w, h); camera.setParameters(parameters); camera.startPreview(); }
@Override public void draw(Canvas canvas) { super.draw(canvas); } } [/code]
Однако я не вижу никаких изменений в эмуляторе, независимо от того, что я делаю в методе onPreviewFrame.