Как нарисовать линию с помощью ontouchevent в растровом изображении в качестве фона в Android

Как нарисовать линию, используя onouchevent в растровом изображении в качестве фона в Android. Здесь я использую растровое изображение изображения в качестве фонового изображения в Android. Но изображение не будет перекрываться, если я нарисую линию.


person Community    schedule 24.02.2012    source источник
comment
coderanch.com/t/527716/Android/ Мобильный/ попробуйте эту ссылку..   -  person Deepak Swami    schedule 24.02.2012


Ответы (2)


это красивая ссылка, вы можете следовать этому для своего решения:

Как нарисовать линию в Android

person jyotiprakash    schedule 24.02.2012
comment
этот пример не использует фоновое изображение - person ; 24.02.2012
comment
они создают фоновый цвет. - person ; 24.02.2012

используйте что-то подобное в своем контакте

  /////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;


}

надеюсь ты получил ответ..

person Deepak Swami    schedule 24.02.2012
comment
я получил одну ошибку в методе ontouch.Paint не может быть разрешен - person ; 24.02.2012
comment
наконец, еще одна ошибка в просмотре изображений onTouchevent не может быть решена. в чем ошибка - person ; 24.02.2012
comment
да, я уже поставил. но изображение не может быть разрешено в строке imageView.invalidate(); в пути - person ; 24.02.2012
comment
На самом деле в моем XML-файле я использую изображение png - person ; 24.02.2012