我想在我给定的text
上绘制一个矩形作为透明画布,如下图所示:
我使用以下代码绘制透明矩形但无法理解坐标位置。我尝试了很多时间但是没有用。
canvas.drawRect(left,top,right,bottom,paint);
这是我的代码:
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(40);
paint.setShadowLayer(2.0f, 1.0f, 1.0f, Color.BLACK);
paint.setAlpha(255);
rectPaint.setAlpha(100);
canvas.drawText("$250", 20, 400, paint);
canvas.drawBitmap(bitmapImage, 490, 55, null);
canvas.drawRect(0, 100, 300, 400, rectPaint);
drawRect
方法中其余坐标的值是什么,以将其与coordinates
text
的{{1}}对齐。现在我正在使用
canvas.drawRect(0, ? , ? , ?, rectPaint);
答案 0 :(得分:0)
您可以使用Paint.getTextBounds()
方法。
getTextBounds(String text,int start,int end,Rect bounds)
返回边界(由调用者分配)最小的矩形 包含所有字符,隐含的原点为(0,0)。
这将为您提供所需的Rect
,然后您需要使用Rect
调用提供的坐标来抵消此drawText
。