文本在位图上呈现

时间:2010-10-18 05:41:35

标签: android

我想知道如何在我的Android应用程序中在48x48位图上渲染文本,考虑到有时文本超出位图宽度。在这种情况下,我需要只渲染文本的一部分,然后是点这一切都符合可用的宽度!

谢谢!

更新,以下是我使用的代码:

    Bitmap renderSurface = icon.createBitmap();
    Canvas canvas = new Canvas(renderSurface);

    Paint paint  = new Paint();
    paint.setTextSize(10);
    if(paint.measureText(nativeName)>canvas.getWidth())
        nativeName = getClippedString(paint,nativeName,canvas.getWidth() );

    canvas.drawText(nativeName,33,0, paint);

    return renderSurface;  

1 个答案:

答案 0 :(得分:4)

您必须创建另一个位图(除非原始位图是可变的),然后创建一个Canvas以在该位图上绘制。最后,只需在Canvas上调用drawText()即可。要知道文本的椭圆化,可以使用Paint的类文本测量方法。