在android中的位图上绘制文本

时间:2013-03-06 12:17:22

标签: android image-processing canvas

我在android应用程序中的位图上绘制文本,然后我将其保存在SD卡中。 图像得到保存,但没有文字,我的意思是在drawtext中似乎有一些问题,这是我的代码

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();
我忘记了这段代码或者有什么问题吗?

1 个答案:

答案 0 :(得分:4)

R.color.black不是真正的颜色,而只是对颜色值的引用。 将其替换为Color.BLACKgetResources().getColor(R.color.black)

p.setColor(Color.BLACK);

OR

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