Zajmuję się tworzeniem aplikacji, która potrzebuje tej funkcji w obiekcie.Jak wymazać obraz palcem w Androidzie
Mam jeden obraz, który obejmować B. obrazu z palca muszę wymazać dysku A pokazać B. Obrazek Erase musi śledzić palcem płynącej dysku A
Próbuję trochę kodu, ale nadal nie mogę wymazać obrazu A. jest to kod, który używam, aby narysować linię na obrazie (_imageToErase jest Obrazek a):
Canvas canvas;
Paint paint;
float downx = 0, downy = 0, upx = 0, upy = 0;
ImageView _imageToErase;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.g_layout);
_imageToErase = (ImageView) findViewById(R.id.image_to_erase);
_imageToErase.setOnTouchListener(this);
}
@Override
public void onWindowFocusChanged(boolean hasFocus){
int width = _imageToErase.getWidth();
int height = _imageToErase.getHeight();
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStrokeWidth(25);
paint.setAntiAlias(true);
_imageToErase.setImageBitmap(bitmap);
}
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);
_imageToErase.invalidate();
downx = upx;
downy = upy;
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return true;
}
Ten kod produkować tylko linii, które podążają za palcem, ale nie kasuj obrazu.
Jak zmodyfikować ten kod, aby usunąć obraz? Dzięki
EDIT
Link sugerowane w komentarzach nie rozwiązać mój problem. Po prostu dodaj tę linię:
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT));
nie działa dla mnie.
Twój farba jest biały. Przynajmniej potrzebujesz przezroczystej farby. – njzk2
możliwy duplikat [Rysowanie za pomocą przezroczystej farby na Androidzie] (http://stackoverflow.com/questions/27982853/drawing-with-transparent-paint-on-android) – njzk2
@ njzk2 tak wiem, i faktycznie jestem Próbowałem z przezroczystym, ale po prostu nie widzę linii, ale obraz A jest zawsze tam. I to pytanie nie działa dla mnie – Ilario