Java安卓摄像头

Java安卓摄像头,java,android,eclipse,Java,Android,Eclipse,我有这个简单的摄像头应用程序,但我想知道如何添加过滤器到它。我是一名Java初学者,我按照指南操作相机。有人能帮我添加带有按钮的过滤器吗 public class MainActivity extends Activity { private static String logtag = "CameraApp"; private static int TAKE_PICTURE = 1; private Uri imageUri; @Override protected void onC

我有这个简单的摄像头应用程序,但我想知道如何添加过滤器到它。我是一名Java初学者,我按照指南操作相机。有人能帮我添加带有按钮的过滤器吗

public class MainActivity extends Activity {


private static String logtag = "CameraApp";

private static int TAKE_PICTURE = 1;

private Uri imageUri;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Button cameraButton = (Button)findViewById(R.id.button_camera);

    cameraButton.setOnClickListener(cameraListener);
}


private OnClickListener cameraListener = new OnClickListener() {
    public void onClick(View v) {

        takePhoto(v);
    }
};

public void takePhoto(View v) {

    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");

    File photo = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "pic.jpg");

    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));

    imageUri = Uri.fromFile(photo);

    startActivityForResult(intent, TAKE_PICTURE);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);
    switch(requestCode) {

        if(resultCode == Activity.RESULT_OK) {

            Uri selectedImage = imageUri;

            getContentResolver().notifyChange(selectedImage, null);

            ImageView imageView = (ImageView)findViewById(R.id.image_view_camera);

            ContentResolver cr = getContentResolver();

            Bitmap bitmap;
            try {

                bitmap = android.provider.MediaStore.Images.Media.getBitmap(cr, selectedImage);

                imageView.setImageBitmap(bitmap);

                Toast.makeText(MainActivity.this, selectedImage.toString(), Toast.LENGTH_LONG).show();
            } catch(Exception e) {

                Toast.makeText(MainActivity.this, "failed to load", Toast.LENGTH_LONG).show();
                Log.e(logtag, e.toString());
              }
          }
        }
    }

 }

您可以实现如下效果:

Camera.Parameters parameters = camera.getParameters();
parameters.setColorEffect(Camera.Parameters.EFFECT_AQUA);
camera.setParameters(parameters);
文件单元:


我知道,但我如何将其集成到代码中?例如,当拍摄照片时,您可以单击按钮并应用该效果。在该按钮的onClick方法中,您可以编写如下内容:v.setColorEffect(Camera.Parameters.EFFECT_AQUA);我是在onActivityResult还是在onCreate方法中添加按钮?在onCreate方法中。按钮aquaButton=(Button)fundViewById(R.id.aqua_Button)//获取按钮,然后我将其添加到正确的位置?Camera.Parameters=Camera.getParameters();参数.setColorEffect(照相机.parameters.EFFECT_-AQUA);设置参数(参数);
Update:

 Button filterbutton;  
Button filterbutton = (Button)findViewById(R.id.filterbutton); }

       filterbutton.setOnClickListener(new View.OnClickListener() { 


             public void onClick(View v) { 

   v.setColorEffect(Camera.Parameters.EFFECT_AQUA); 
}