在Android中将文本放在捕获图像上?

时间:2012-07-18 09:24:45

标签: android

我正在开发一个有趣的Android应用程序。我需要在其中捕获图像,然后在保存之前我需要在捕获的图像上添加一些文本。 是否可以在运行时编辑捕获的图像在android中请建议我。 Thaanxx提前..!

1 个答案:

答案 0 :(得分:2)

如果使用默认意图捕获图像,请使用以下代码。无论您在何处触摸图像,都会放置文本。 cp,imageview应该在你的布局中。而RelativeLayout rl是你布局的id。

ImageView cp = (ImageView) findViewById(R.id.img_cp);
                Intent cameraIntent = new Intent(
                        android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(cameraIntent, CAMERA_REQUEST);


        cp.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                Log.v("touched x val of cap img >>", event.getX() + "");
                Log.v("touched y val of cap img >>", event.getY() + "");
                x = (int) event.getX();
                y = (int) event.getY();
                RelativeLayout rl = (RelativeLayout) findViewById(R.id.lay_lin);
                TextView iv = new TextView(Capture_Image.this);
                iv.setText("checking......");
                RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                        RelativeLayout.LayoutParams.WRAP_CONTENT,
                        RelativeLayout.LayoutParams.WRAP_CONTENT);
                params.leftMargin = x;
                params.topMargin = y;
                rl.addView(iv, params);
                return false;
            }
        });
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == CAMERA_REQUEST) {
            photo = (Bitmap) data.getExtras().get("data");
            cp.setImageBitmap(photo);
        }

    }