converti la vista in bitmap

Possibile duplicazione:
Conversione di una vista in Bitmap senza visualizzarla in Android?

Sto cercando di convertire la vista in bitmap dal seguente link di riferimento

  • Json DateTime analizzando in Android
  • Apri un URL nel browser android, evita più tabs
  • ContentResolver e l'istruzione "IN" nella condizione "where"
  • Crea disegni dal layout
  • Android - Selettore di stato Animazioni - Solo premere l'animation, non premere
  • Non ricevo il numero di telefono della chiamata in output? sia nell'emulatore che nel vero telefono cellulare, anche diventando nullo
  • text di collegamento

    Ora il problema è come posso get il bitmap che viene convertito da vista solo. nell'esempio l'autore ha usato relativelayout.dispatchDraw (c), ma questa linea mi sta dando l'errore di tempo di compilazione

    Il metodo dispatchDraw (Canvas) dal tipo ViewGroup non è visibile

    Ecco il mio codice e ho scritto il seguente codice all'interno della function onCreate

    Canvas c=null; //Create Layout RelativeLayout relativeView ; RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT ); relativeView = new RelativeLayout(this); relativeView.setLayoutParams(lp); //Background of Layout Bitmap viewBgrnd = BitmapFactory.decodeResource(getResources(),R.drawable.bgblack); relativeView.setBackgroundDrawable(new BitmapDrawable(viewBgrnd)); //associated with canvas Bitmap returnedBitmap = Bitmap.createBitmap(320,480,Bitmap.Config.ARGB_8888); c = new Canvas(returnedBitmap); Paint paint = new Paint(); //Create Imageview that holds image ImageView newImage = new ImageView(this); Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.bgpink); newImage.setImageBitmap(srcBitmap); TextView newText = new TextView(this); newText.setText("This is the text that its going to appear"); c.drawBitmap(viewBgrnd, 0, 0, paint); relativeView.layout(100, 0, 256, 256); relativeView.addView(newImage); relativeView.addView(newText); // here i am getting compile time error so for timing i have replaced this line // with relativeView.draw(c); relativeView.dispatchDraw(c); 

    Qui il returnBitmap dovrebbe contenere l'image di (ImageView e TextView), ma questa bitmap contiene solo bitmap bacground di relativeView cioè bgblack

  • Android: Copia di database dalla cartella degli asset
  • Errore durante il recupero del genitore per elemento: nessuna risorsa trovata che corrisponde al nome specificato 'android: TextAppearance.Material.Widget.Button.Borderless.Colored'
  • c'è un modo per utilizzare una variabile gradle in class Java
  • come convertire o registrare file .wav in 16khz 16bit mono little-endian?
  • OnActivityResult sembra non funzionare
  • Come si dichiara il tipo di preferenza Android?
  • 2 Solutions collect form web for “converti la vista in bitmap”

    ecco la mia soluzione:

     public static Bitmap getBitmapFromView(View view) { Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(returnedBitmap); Drawable bgDrawable =view.getBackground(); if (bgDrawable!=null) bgDrawable.draw(canvas); else canvas.drawColor(Color.WHITE); view.draw(canvas); return returnedBitmap; } 

    Godere 🙂

    Questo funziona per me:

     Bitmap viewCapture = null; theViewYouWantToCapture.setDrawingCacheEnabled(true); viewCapture = Bitmap.createBitmap(theViewYouWantToCapture.getDrawingCache()); theViewYouWantToCapture.setDrawingCacheEnabled(false); 

    Credo che la vista deve essere visibile (vale a dire: getVisiblity () == View.VISIBLE). Se stai cercando di catturarla ma nasconderla all'utente contemporaneamente, puoi spostarla sullo schermo o metterti qualcosa su di esso.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.