如何在位图中绘制文本?

时间:2012-12-20 18:01:49

标签: android

如何在位图上绘制文字?我做了这个:

    float width = Converter.convertDpToPixel(250, context);
    float height = Converter.convertDpToPixel(40, context);
    Bitmap myBitmap = Bitmap.createBitmap((int)width + 1, (int)height+1, Bitmap.Config.ARGB_8888);
    Canvas myCanvas = new Canvas(myBitmap);
    Paint paint = new Paint();
    Typeface tanger = Typeface.createFromAsset(context.getAssets(),"fonts/Tangerine_Bold.ttf");
    paint.setAntiAlias(true);
    paint.setSubpixelText(true);
    paint.setTypeface(tanger);
    paint.setStyle(Paint.Style.FILL);
    paint.setColor(Color.BLACK);
    paint.setTextSize(55);
    paint.setTextAlign(Align.CENTER);
    myCanvas.drawText(quote, 16, 60, paint);
    return myBitmap;

但只显示文本的一部分,我不知道为什么。 谢谢

1 个答案:

答案 0 :(得分:6)

您的位图在40px中为height,而您的文字是从位图顶部下方的60px开始绘制的。由于textSize 55的一部分仍然可见。您可能希望增加Bitmap的高度。