我想知道如何在我的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;
答案 0 :(得分:4)
您必须创建另一个位图(除非原始位图是可变的),然后创建一个Canvas以在该位图上绘制。最后,只需在Canvas上调用drawText()即可。要知道文本的椭圆化,可以使用Paint的类文本测量方法。