如何在图像位图中使用ontouchevent作为android中的背景绘制一条线

时间:2012-02-24 04:18:26

标签: android canvas bitmap line ontouchevent

如何使用图像中的ontouchevent在android.here中作为背景绘制一条线我在android中使用图像Bitmap作为背景图像。但是如果我画一条线,图像将不会重叠。

2 个答案:

答案 0 :(得分:2)

这是一个很好的链接,你可以按照这个解决方案:

How to draw a line in android

答案 1 :(得分:0)

在你的触摸中使用这样的东西

  /////declare variable/////
float downx = 0;
float downy = 0;
float upx = 0;
float upy = 0;
Canvas canvas;
Paint paint;

 ///////put this in on create//////

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

    bitmap = Bitmap.createBitmap(480,640,Bitmap.Config.ARGB_8888);

Display currentDisplay = getWindowManager().getDefaultDisplay();
            float dw = currentDisplay.getWidth();
            float dh = currentDisplay.getHeight();


            canvas = new Canvas(bitmap);
            paint = new Paint(Paint.ANTI_ALIAS_FLAG);
            paint.setStrokeWidth(6);
            paint.setStrokeMiter(2);
            paint.setStyle(Paint.Style.STROKE); 
            paint.setColor(Color.RED);
            imageView.setImageBitmap(bitmap);
            imageView.setOnTouchListener(this);
 /////bitmap = your bitmap you want to load as back ground/////
 /////your on touch method///////

    public boolean onTouch(View v, MotionEvent event) {


    int action = event.getAction();
    switch (action)
    {
    case MotionEvent.ACTION_DOWN:
    downx = event.getX();
    downy = event.getY();
    break;
    case MotionEvent.ACTION_MOVE:
        upx = event.getX();
        upy = event.getY();

        canvas.drawLine(downx, downy, upx, upy, paint);
        imageView.invalidate();
        downx = upx;
        downy = upy;
        break;
   case MotionEvent.ACTION_UP:
    upx = event.getX();
    upy = event.getY();

    canvas.drawLine(downx, downy, upx, upy, paint);
    imageView.invalidate();
   break;
    case MotionEvent.ACTION_CANCEL:
    break;
    default:
    break;
    }

    return true;


}

我希望你得到答案..

相关问题