Android - 在图像上绘图

hom*_*mes 6 android drawing canvas image bitmap

b2.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                setContentView(R.layout.new_main);

                String editTextStr = text.getText().toString();
                Toast msg = Toast.makeText(getBaseContext(),"/sdcard/Stored_Images/" + editTextStr + ".jpg", Toast.LENGTH_LONG);
                msg.show();

                Bitmap bmp = BitmapFactory.decodeFile("/sdcard/Stored_Images/" + editTextStr + ".jpg");
                ImageView img = (ImageView) findViewById(R.id.ImageView01);
                img.setImageBitmap(bmp);
            }
        });
Run Code Online (Sandbox Code Playgroud)

上面的代码在屏幕上显示保存在SD卡上的图像.

Canvas c = holder.lockCanvas();
c.drawARGB(255,0,0,0);
onDraw(c);
holder.unlockCanvasAndPost(c);
Run Code Online (Sandbox Code Playgroud)

此代码创建一个画布(黑色屏幕).

我希望能够将两者结合起来设置/显示图像作为画布,以便我可以在上面绘图.因此,如果我拍摄某人脸部的照片,我希望能够显示该图像,以便我可以在上面绘制小胡子或其他东西.

Pat*_*fka 4

您可能最好创建画布,向其中添加位图图像,然后从那里处理用户触摸/绘图。

Bitmap bmp = BitmapFactory.decodeFile("/sdcard/Stored_Images/" + editTextStr + ".jpg");
mCanvas = new Canvas(bmp);
Run Code Online (Sandbox Code Playgroud)

然后对于绘图...听起来您已经弄清楚了,但如果没有,您可以查看api 演示中的FingerPaint 示例,这些示例演示了在画布上绘图(此时您将在画布上显示图像。)