Создайте файл макета, который покажет изображение для изменения фона, и на нем покажет TextView. Он будет отображать текст и использовать приведенный ниже код для генерации растрового изображения и установки его в ImageView.Надеюсь, что это поможет вам
private Bitmap getCustomImage(@DrawableRes int imageId,String text) {
View customView = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.your_layout_file, null);
ImageView imageView = (ImageView) customView.findViewById(R.id.imageView);
TextView textView = (TextView) customView.findViewById(R.id.textView);
textView.setText(text);
imageView.setImageResource(imageId);
customView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
customView.layout(0, 0, customMarkerView.getMeasuredWidth(), customView.getMeasuredHeight());
customView.buildDrawingCache();
Bitmap returnedBitmap = Bitmap.createBitmap(customView.getMeasuredWidth(), customView.getMeasuredHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(returnedBitmap);
canvas.drawColor(Color.WHITE, PorterDuff.Mode.SRC_IN);
Drawable drawable = customView.getBackground();
if (drawable != null)
drawable.draw(canvas);
customView.draw(canvas);
return returnedBitmap;
}