Intereting Posts
Могу ли я сохранить два или более значений одним и тем же ключом, используя SharedPreferences в android? Android M 6.0 – SecurityException Пытаясь удалить учетные записи Несколько экземпляров активности и FLAG_ACTIVITY_REORDER_TO_FRONT Экземпляр абстрактного класса со скрытым конструктором Android UI-библиотека, в которой есть Action Bars, Dashboards и т. Д. Как добавить GLSurfaceView между представлениями Android? Эмулятор Nexus 9 не отображается в AVD AlertDialog styling – как изменить стиль (цвет) названия, сообщения и т. Д. Остановка элементов при перемещении при использовании StaggeredGridLayoutManager Кнопка выбора кнопки Android Прозрачная навигация без отображения макета под панелью состояния Пропустить некоторые фрагменты onBackPressed Журнальные сообщения в андроид-студии junit test Не удалось разрешить все зависимости для конфигурации: app: _debugCompile'-Facebook Максимальный лимит для элементов в приложении для выставления счетов / покупки в приложении

Android объединяет два изображения

У меня эти два изображения, которые я в основном сливаюсь на холсте. Теперь я хочу сохранить этот холст в изображение. Как мне это сделать или если есть другой способ объединить два изображения.

Мой пример кода –

Bitmap bmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.duckpic); Bitmap bmp2 = BitmapFactory.decodeResource(getResources(), R.drawable.img); // canvas.drawColor(Color.BLACK); // canvas.drawBitmap(_scratch, 10, 10, null); Bitmap bmOverlay = Bitmap.createBitmap(bmp2.getWidth(), bmp2 .getHeight(), bmp2.getConfig()); // Canvas cs = new Canvas(bmp2); canvas.scale((float) 0.5, (float) 0.5); canvas.drawBitmap(bmp2, new Matrix(), null); canvas.drawBitmap(bmp1, new Matrix(), null); canvas.save(); 

Я заработал это, сделав это –

  cs = Bitmap.createBitmap(c.getWidth(), c.getHeight(), Bitmap.Config.ARGB_8888); Canvas comboImage = new Canvas(cs); comboImage.drawBitmap(s, new Matrix(), null); comboImage.drawBitmap(c, new Matrix(), null); comboImage.save(); // this is an extra bit I added, just incase you want to save the new // image somewhere and then return the location String tmpImg = String.valueOf(System.currentTimeMillis()) + ".png"; OutputStream os = null; try { os = new FileOutputStream("/sdcard/" + tmpImg); cs.compress(CompressFormat.PNG, 100, os); } catch (IOException e) { Log.e("combineImages", "problem combining images", e); } 

В основном это дается здесь – http://www.jondev.net/articles/Combining_2_Images_in_Android_using_Canvas

Используйте canvas.setBitmap (Bitmap bitmap) . Это отправит холст в указанный битмап. Для этого вам понадобится создать новое, изменяемое растровое изображение. После вызова setBitmap вы можете сохранить этот битмап в файл.

Используйте эту ссылку ……. это может помочь u. https://github.com/hotveryspicy/MaskImage