2013-03-06 52 views
0

我正在android应用程序中的位图上绘制文本,然后我将它保存在SD卡中。 图像得到保存,但没有文字,我的意思似乎是有一些问题的DrawText,这是我的代码在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(); 

我是忘了什么或有什么不对的代码?

回答

4

R.color.black不是真实的颜色,只是对颜色值的引用。 与Color.BLACKgetResources().getColor(R.color.black)

p.setColor(Color.BLACK); 

OR

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

其实,这是R.color.black指定可能不相同的是Color.Black指定颜色更换。所以第一个选项只有在两种颜色相同的情况下才有效(这可能是,但谁知道) – razielsarafan 2013-03-06 13:32:20