我正在使用以下代码段创建带文本的位图。
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Style.FILL);
paint.setColor(fontColor);
paint.setTextSize(fontSize);
canvas.drawText("My Text", x, y, paint);
这是一个问题。如何预先确定要在画布中使用的位图的大小?例如,如果我想要一个带有“Hello World!”的位图在它上面,我想在画布上绘制文本之前找到它的宽度和高度。
答案 0 :(得分:1)
你可以这样:
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
Rect bounds = new Rect();
paint.setStyle(Style.FILL);
paint.setColor(fontColor);
paint.setTextSize(fontSize);
paint.getTextBounds("My Text", 0, "My Text".length(), bounds);
int width = bounds.width();
int height = bounds.height();
canvas.drawText("My Text", x, y, paint);
答案 1 :(得分:1)
试试这个,它会加载位图,然后获取高度和宽度,然后你只需要绘制它。将bitmap
替换为您的图片名称
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap);
bitmapHeigth = bitmap.getHeigth();
bitmapWidth = bitmap.getWidth();