Android 获取渲染文本高度,该高度相当于使用paint.measureText渲染的文本宽度
我有以下代码来绘制文本Android 获取渲染文本高度,该高度相当于使用paint.measureText渲染的文本宽度,android,Android,我有以下代码来绘制文本 protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); paint.setTextSize(400); paint.setColor(Color.WHITE); paint.setAntiAlias(true); paint.setTextAlign(Align.LEFT); paint.setS
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setTextSize(400);
paint.setColor(Color.WHITE);
paint.setAntiAlias(true);
paint.setTextAlign(Align.LEFT);
paint.setStyle(Style.FILL);
String text = "698";
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
int textWidth = bounds.width();
int textHeight = bounds.height();
Bitmap originalBitmap = Bitmap.createBitmap(textWidth,
textHeight, Bitmap.Config.ARGB_8888);
Canvas singleUseCanvas = new Canvas(originalBitmap);
singleUseCanvas.drawColor(Color.BLUE);
singleUseCanvas.drawText(text, 0, textHeight, paint);
canvas.drawBitmap(originalBitmap, 0, 0, null);
}
我得到了不想要的结果,它的右边和下面都被剪掉了
我通过使用
float textWidth = paint.measureText(text);
Bitmap originalBitmap = Bitmap.createBitmap((int)(textWidth + 0.5),
textHeight, Bitmap.Config.ARGB_8888);
我有以下的进步
然而。我的屁股还在被剪。我想知道获得渲染文本高度的正确方法是什么,这类似于使用paint.measureText渲染文本宽度?我想我应该看看这篇文章: 它对渲染文本的大小以及您关心的文本高度进行了很好的调查