В моем случае:
Моя активность
На прикрепленном изображении я хочу сохранить растровое изображение, созданное на основе представлений B, C и D.
B — линейный макет, C — чистое растровое изображение, а D — относительный макет.
Насколько я понимаю, один из способов — создать холст, добавить в него все «элементы» и, наконец, получить желаемое растровое изображение.
У меня возникли проблемы со следующим кодом:
Код: Выделить всё
iViewBHeight= viewB.getHeight();
// Prepare empty bitmap as output
Bitmap result = Bitmap.createBitmap(bitmapC.getWidth(),bitmapC.getHeight() + iViewBHeight, Config.ARGB_8888);
// Flush source image into canvas
Canvas canvas = new Canvas(result);
// Draw bitmap C to canvas 'under' view B
canvas.drawBitmap(bitmapC, 0, iViewBHeight, null);
// Draw view B to canvas
viewB.setDrawingCacheEnabled(true);
viewB.buildDrawingCache(true);
canvas.drawBitmap(Bitmap.createBitmap(viewB.getDrawingCache()), 0, 0, null);
viewB.setDrawingCacheEnabled(false);
// Desired bitmap is at 'result'
Я не пробовал добавлять представление D..
Может ли кто-нибудь мне помочь? Может быть, есть более эффективные способы достижения моей цели?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/330 ... on-android