2013-03-06 4 views
0

Je dessine un texte sur bitmap dans l'application Android, puis je l'enregistre dans la carte SD. l'image sauvées mais il n'y a pas de texte, je veux dire, il semble qu'il y ait un problème dans DrawText, voici mon codeDessin de texte sur bitmap en android

Bitmap bitmap = Bitmap.createBitmap(370, 177, Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(bitmap); 
    c.drawColor(0xffffffff); 
    Paint p = new Paint(); 
    p.setColor(R.color.black); 
    //p.setStyle(Style.FILL); 
    //p.setStrokeWidth(40.0f); 
    //p.setTextSize(40.0f); 
    //p.setTextAlign(Align.RIGHT); 
    c.drawText("Some text", 70, 77, p); 
    //c.save(); 

    try { 
     FileOutputStream fos = new FileOutputStream(myfile); 
     bitmap.compress(CompressFormat.PNG, 90, fos); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    bitmap.recycle(); 

suis-je oublié quelque chose ou ce qui ne va pas avec ce code?

Répondre

4

R.color.black n'est pas une vraie couleur mais juste une référence à une valeur de couleur. Remplacez-le par Color.BLACK ou getResources().getColor(R.color.black)

p.setColor(Color.BLACK); 

OU

p.setColor(getResources().getColor(R.color.black)); 
+0

En fait, la couleur qui est R.color.black de désignation peuvent ne pas être même que Color.Black désigne. Donc, la première option n'est valide que si les deux couleurs sont les mêmes (ce qui est probablement le cas, mais qui sait) – razielsarafan