Cómo convertir Vista a Bitmap en android?
Estoy usando la siguiente línea para convertir la vista a mapa de bits en android.
view.setDrawingCacheEnabled(true); Bitmap b= view.getDrawingCache();
Estoy teniendo valor a la vista cuando estoy convirtiendo a Bitmap, su valor de mapa de bits mostrando nulo.
- Comportamiento extraño de ListView con CheckBox
- ¿Cómo dividir la pantalla en tres partes verticalmente?
- Diferencia entre el tipo de entrada de texto sin formato y el tipo de entrada Person Name en Editext en android
- ¿Tiene Android XML Layout 'include' Tag realmente funciona?
- Android: ¿Cómo cambiar el tamaño del texto en un campo EditarTexto?
- Cómo mantener el tiempo de espera de sesión en la aplicación Android
- Uso de DatePicker sin selector de día
- Transmitir una matriz de enteros desde un AppWidget a un RemoteViewsService preexistente para ser renderizado por el RemoteViewsFactory
- ¿Dónde está la carpeta temp en el dispositivo android?
- Cómo personalizar el ancho y la altura cuando se muestra una actividad como un cuadro de diálogo
- ¿Es posible reutilizar RemoteViews en un appWidget en lugar de crear nuevos cada vez? Y cómo puedo almacenarlos?
- No se puede cambiar el tamaño del texto del pulgar del widget SwitchCompat
- RemoteView y setGravity
Clase de actividad En esta clase I Convertir el diseño (vista) en imagen.
import android.os.Bundle; import android.app.Activity; import android.graphics.Bitmap; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.LinearLayout; public class ImageActivity extends Activity { LinearLayout layout=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_convert); layout=(LinearLayout)findViewById(R.id.layout); ((ImageView)findViewById(R.id.ImageView01)).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Bitmap map=ConvertToBitmap(layout); Log.v("BitmapObject", map.toString()); } }); } protected Bitmap ConvertToBitmap(LinearLayout layout) { Bitmap map; layout.setDrawingCacheEnabled(true); layout.buildDrawingCache(); return map=layout.getDrawingCache(); } }
Use debajo del código: simplemente reemplace el valor de su vista
YourView view = (YourView )findViewById(R.id.yourViewId); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bm = view.getDrawingCache();
Referencia
Prueba esto :
LinearLayout view1 = (LinearLayout) findViewById(R.id.linear1); ImageView my_image = (ImageView) findViewById(R.id.my_imageView); Bitmap b = Bitmap.createBitmap(view1.getWidth(), view1.getHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); view1.draw(c); my_image.setImageBitmap(b);
Espero que te ayude.
Gracias.
Esto podría funcionar
public static Bitmap getBitmapFromView(View view) { Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(returnedBitmap); view.layout(0, 0, view.getLayoutParams().width, view.getLayoutParams().height); view.draw(canvas); return returnedBitmap; }