我正在使用以下代码片段创建一个带有文本的位图。
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!"的位图,我甚至想在画布上绘制文本之前找到它的宽度和高度。
你可以破解这个:
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);
试试这个,它加载位图,然后获得高度和宽度,然后你只需要绘制它。用你的图像名称替换bitmap
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap);
bitmapHeigth = bitmap.getHeigth();
bitmapWidth = bitmap.getWidth();