确定位图的宽度和高度



我正在使用以下代码片段创建一个带有文本的位图。

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();

最新更新