Convert Canvas to Bitmap Android - Black Background -


i asked this question drawing text canvas , informed add text view layout , draw layout canvas this

my problem is, when try convert bmp , display black rect.

here code:

  linearlayout layout = new linearlayout(getactivity());     textview textview = new textview(getactivity());     textview.setvisibility(view.visible);     textview.settext("صيققق٣يفاوووووومالؤؤتمكا");     layout.addview(textview);     layout.setbackgroundcolor(getactivity().getresources().getcolor(r.color.transparent));     textview.settextcolor(getresources().getcolor(r.color.white));     layout.measure(view.measurespec.unspecified, view.measurespec.unspecified);     bitmap bitmap = bitmap.createbitmap(layout.getmeasuredwidth(), layout.getmeasuredheight(), bitmap.config.rgb_565);     //layout.draw(canvas);     canvas canvas = new canvas(bitmap);     layout.layout(0,0, canvas.getwidth(), canvas.getheight());     layout.draw(canvas); 

i know i'm going wrong don't know where, think i'm following correct steps..

can point out me i'm going wrong. thanks

i can't understand problem draw text on canvas, try that:

public class mainactivity extends activity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);         imageview imageview = (imageview) findviewbyid(r.id.image_for_test_displaying);         imageview.setimagebitmap(getbitmapfromarabictext("صيققق٣يفاوووووومالؤؤتمكا"));     }      private bitmap getbitmapfromarabictext(string string) {         paint paint = new paint();         //size can customized         bitmap bitmap = bitmap.createbitmap(400, 400, bitmap.config.argb_8888);         canvas canvas = new canvas(bitmap);         //draw black background         paint.setcolor(color.black);         canvas.drawrect(0, 0, bitmap.getwidth(), bitmap.getheight(), paint);         //draw white text         paint.setcolor(color.white);         //text position can manage         canvas.drawtext(string, 10, 10, paint);         return bitmap;     } } 

Comments