To mnie dziwi. Muszę skopiować bitmapę z jednego ImageView do drugiego. Nie chcę po prostu kopiować jednego ImageView do drugiego, ponieważ muszę zrobić kilka zmian w bitmapie na jego drodze.Kopiowanie zawartości bitmapy jednego ImageView do anoher
Oto kod, który nie działa.
ImageView ivSrc = (ImageView) findViewById(R.id.photo);
ivSrc.setDrawingCacheEnabled(true);
Bitmap bmSrc1 = ivSrc.getDrawingCache(); // will cause nullPointerException
Bitmap bmSrc2 = Bitmap.createBitmap(ivSrc.getDrawingCache());//bmSrc2 will be null
View vSrc = (View) ivSrc.getParent();
vSrc.setDrawingCacheEnabled(true);
Bitmap bmSrc3 = Bitmap.createBitmap(vSrc.getDrawingCache()); //black bitmap
// Aby przetestować bitmap:
ImageView ivDest = (ImageView) findViewById(R.id.photo2);
ivDest.setImageBitmap(bmSrc1); //bmSrc1, 2, 3 results shown above
mam zamiar o tym złego, ponieważ robi kopię powinno być tak proste. TIA
Co jeśli (używając zmiennych) 'bmSrc2' wychodzi z ujemną szerokością i/lub wysokością? –